收藏私塾在线
 

欢迎您来到私塾在线网!   

请登录! 

免费注册 

交流首页 » .NET »sqlserver2008-top新用途2  XML
发表人 内容
yuzebaby
[头像]

交流经验:
总积分:4517
级别:VIP1
注册时间: 2012-07-19
文章: 400
离线

sqlserver2008-top新用途2

TOP分块修改数据

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

仍以上表为例:

  1. while (select count(1) from [Demo_Top])>0  
  2. begin  
  3. delete top (202) from [Demo_Top]  
  4. end  
  5. /*  
  6. (202 row(s) affected)  
  7. (202 row(s) affected)  
  8. (202 row(s) affected)  
  9. (202 row(s) affected)  
  10. (194 row(s) affected)  
  11. */  

while (select count(1) from [Demo_Top])>0 begin delete top (202) from [Demo_Top] end /* (202 row(s) affected) (202 row(s) affected) (202 row(s) affected) (202 row(s) affected) (194 row(s) affected) */

 

注意是每批删除202条数据,TOP也可以用于Select和Update语句,其中后者更为实用。

--Select TOP(100)
--Update TOP(100)



个性签名:每天进步一点点
 
交流首页 » .NET
前往:   

关于我们 | 联系我们 | 用户协议 | 私塾在线服务协议 | 版权声明 | 隐私保护

版权所有 Copyright(C)2009-2012 私塾在线学习网