-
drop,truncate与delete的区别
注意:这里说的delete是指不带where子句的delete语句相同点truncate和不带where子句的delete,以及drop都会删除表内的数据不同点:1.truncate和delete只删除数据不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态.2.delete语句是dml,这个操作会放到rollbacksegement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.truncate,drop是ddl,操作立即生效,原数据不放到rollbacksegment中,不能回滚.操作不触发trigger.3.delete语句不影响表所占用的extent,高水线(highwatermark)保持原位置不动显然drop语句将表所占用的空间全部释放truncate语句缺省情况下将空间释放到minextents个extent,除非使用reusestorage;truncate会将高水线复位(回到最开始).4.速度,一般来说:dr...
数据库操作教程 2022-09-23 16:54:06 -
sqlserversubstring函数使用方法小结
在操作sqlserver时候用到了substring函数SUBSTRING(expression,start,length)参数expression字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式...
数据库操作教程 2022-09-23 16:54:03 -
Sql2000数据库的备份文件恢复到Sql2005的方法
核心步骤:在sqlserver2005中直接右击数据库选还原数据库。详细内容:用SqlServer2000的数据库备份来还原SqlServer2005中的数据库现在手中有SqlServer2000中的数据库备份文件(如果此备份文件没有后缀名*.bak或*.trn,请追加相应的后缀名),欲将此文件还原到SqlServer2005中,还原时突然报错,为此在网上搜索了有关文章,金庆的专栏中有一篇《SQL2005备份还原问题》讲解到了,但个人感觉不是很详细,现将分析和解决方法详细讲解...
数据库操作教程 2022-09-23 16:53:04 -
SQL2000全文索引完全图解
全文检索可以对varchar,text,image型字段进行检索,但一个表最多只能建一个全文索引SQLServer2000引入了对存储在image列中的这些类型的数据执行全文检索的能力。如果没有全文索引,对字符的模糊查询只能对基表进行全表扫描(或索引扫描),执行模糊查询都需要对全表扫描或索引扫描意味着消耗大量IO...
数据库操作教程 2022-09-23 16:52:19 -
sql2005存储过程分页示例代码
复制代码代码如下:--分页存储过程示例AlterPROCEDURE[dbo].[JH_PageDemo]@pageSizeint=9000000000,@pageIndexint=1,@orderByNvarchar(200)=''--不加orderByASSETNOCOUNTON--声明变量DECLARE@selectVARCHAR(3048);DECLARE@fromVARCHAR(512);DECLARE@RowNumberVARCHAR(256);DECLARE@conditionnVARCHAR(3990);DECLARE@groupByvarchar(50);DECLARE@sqlVARCHAR(3998);DECLARE@RowStartIndexINT;DECLARE@RowEndIndexINT;BEGINSETNOCOUNTonIF@orderBy<>''Set@orderBy='ORDERBY'+@orderBy;elseSet@orderBy='ORDERBYUserid';SET@select='selectuserid,username,';--...
数据库操作教程 2022-09-23 16:52:11 -
一次SQL调优数据库性能问题后的过程(300W)
将绝大部分的SQL查询改为存储过程,这样的操作毫无疑问可以提高部分性能。凡是使用“select*fromxxx”的操作一律具体到所需字段...
数据库操作教程 2022-09-23 16:51:35 -
MSSQL2005数据附加失败报错3456解决办法
解决办法:1.新建一个同名的数据库(数据文件与原来的要一致)2.再停掉sqlserver(注意不要分离数据库)3.用原数据库的数据文件覆盖掉这个新建的数据库4.再重启sqlserver5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。复制代码代码如下:USEMASTERGOSP_CONFIGURE'ALLOWUPDATES',1RECONFIGUREWITHOVERRIDEGOUPDATESYSDATABASESSETSTATUS=32768WHERENAME='置疑的数据库名'Gosp_dboption'置疑的数据库名','singleuser','true'GoDBCCCHECKDB('置疑的数据库名')Goupdatesysdatabasessetstatus=28wherename='置疑的数据库名'Gosp_configure'allowupdates',0reconfigurewithoverride...
数据库操作教程 2022-09-23 16:50:23 -
SQLServer的FileStream和FileTable深入剖析
互联网时代数据是爆炸式增长,我们常常需要把结构化数据和非结构化数据(如文档,演示文稿,视频,音频,图像)存储在一起。通常有几种方案:1...
数据库操作教程 2022-09-23 16:49:44 -
SQLServer2008到底需要使用哪些端口?
下面就来介绍下SQLServer2008中使用的端口有哪些: 首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果我们要远程连接数据库引擎,那么就需要打开该端口...
数据库操作教程 2022-09-23 16:49:33 -
deletefrom表名与truncatetable表名区别
1.delete不能使自动编号返回为起始值。但是truncate能使自动增长的列的值返回为默认的种子2.truncate只能一次清空,不能按条件删除...
数据库操作教程 2022-09-23 16:49:22 -
SqlServer2012分页方法分析(offsetandfetch)
其中offsetandfetch最重要的新特性是用来分页,既然要分析分页,就肯定要和之前的分页方式来比较了,特别是Row_Number()了,在比较过程中,发现了蛮多,不过最重要的,通过比较本质,得出了优劣,也和大家一起分享下。准备工作,建立测试表:Article_Detail,主要是用来存放一些文章信息,测试的时间,都是从网易上面转载的新闻,同时,测试表数据字段类型是比较均匀的,为了更好的测试,表结构如下图: 内容:数据量:129,991条记录语法分析1.NTILE()的分页方法NTILE()方法可以用来分页,但是应用场景十分的狭窄,并且性能差劲,和Row_Number()与offsetfetch分页比起来没有任何优势,也只有在只读表上面分页的话,还是比较合适的;虽然不好用,但是还能来分页的,所以只简单的介绍下...
数据库操作教程 2022-09-23 16:48:35 -
SQLServer2012在开发中的一些新特性
一、增加了Sequence对象。这个对于Oracle用户来说是最熟悉不过的数据库对象了,现在在SQLServer中终于也看到了类似的对象,只是在使用的语法上有一点点不一样...
数据库操作教程 2022-09-23 16:47:30