知识大全 SQLServer 2008中SQL增强之二 Top新用途

Posted 语句

篇首语:互补的人容易一见钟情,相似的人适合一起变老。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQLServer 2008中SQL增强之二 Top新用途相关的知识,希望对你有一定的参考价值。

SQLServer 2008中SQL增强之二 Top新用途  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

一 TOP替代Set RowCount 在SQL Server 之前的传统SQL语句中 top语句是不支持局部变量的 见此时可以使用Set RowCount 但是在SQL Server / 中 TOP通常执行得更快 所以应该用TOP关键字来取代Set RowCount

  复制代码 代码如下:

  /***************创建测试表********************* ****************downmoo ***************/ IF NOT OBJECT_ID( [Demo_Top] ) IS NULL DROP TABLE [Demo_Top] GO Create table [Demo_Top] (PID int identity( ) primary key not null PName nvarchar( ) null AddTime dateTime null PGuid Nvarchar( ) ) go truncate table [Demo_Top] /***************创建 条测试数据********************* ****************downmoo ***************/ declare @d datetime set @d=getdate() declare @i int set @i= while @i<= begin insert into [Demo_Top] select cast(datepart(ms getdate()) as nvarchar( ))+Replicate( A datepart(ss getdate())) getdate() NewID() set @i=@i+ end

注意TOP关键字可以用于Select Update和Delete语句中

  复制代码 代码如下:

  Declare @percentage float set @percentage= select Top (@percentage) percent PName from [Demo_Top] order by PName 注意是 行 ( row(s) affected)

邀月注 如果只是需要一些样本 也可以使用TableSample 以下语句返回表Demo_Top的一定百分比的随机行

  复制代码 代码如下:

  select PName AddTime PGuid from [Demo_Top] TableSample System( percent) ( row(s) affected)

注意这个百分比是表数据页的百分比 而不是记录数的百分比 因此记录数目是不确定的 二 TOP分块修改数据 TOP的第二个关键改进是支持数据的分块操作 换句话说 避免在一个语句中执行非常大的操作 而把修改分成多个小块 这大大改善了大数据量 大访问量的表的并发性 可以用于大的报表或数据仓库应用程序 此外 分块操作可以避免日志的快速增长 因为前一操作完成后 可能会重用日志空间 如果操作中有事务 已经完成的修改数据已经可以用于查询 而不必等待所有的修改完成 仍以上表为例

  复制代码 代码如下:

注意是每批删除 条数据 TOP也可以用于Select和Update语句 其中后者更为实用 Select TOP( ) Update TOP( ) 邀月注 本文版权由邀月和博客园共同所有 转载请注明出处 cha138/Article/program/SQLServer/201404/30567

相关参考

知识大全 使用SQL Server 2008中对象相关性[2]

使用SQLServer2008中对象相关性[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 使用SQL Server 2008中对象相关性[1]

使用SQLServer2008中对象相关性[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 安装sql server 2008 management提示已安装 SQL Server 2005

安装sqlserver2008management提示已安装SQLServer2005  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布

知识大全 SQL Server 2008安装过程中出现1608错误的解决办法

SQLServer2008安装过程中出现1608错误的解决办法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 解决SQL SERVER 2008数据库表中修改字段后不能保存

解决SQLSERVER2008数据库表中修改字段后不能保存  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 SQLServer2008中的数据压缩功能

SQLServer2008中的数据压缩功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SQL

知识大全 清理SQL Server 2008日志文件

清理SQLServer2008日志文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SQL日志

知识大全 解决sql server 2008 不允许保存更改

  >cha138/Article/program/SQLServer/201311/22306

知识大全 SQL Server 2008 化茧成蝶

SQLServer2008化茧成蝶  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  对于微软的SQ

知识大全 完美卸载SQL Server 2008的方法

完美卸载SQLServer2008的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!控制面板&n