删除加速 Where Date<='2010-01-30 00:00:00.000' 大概有多少数据? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将日期加入索引,另建议做个循环SQL脚本,每次删除如:10000条,这样就能快了。 只让删除快点就OK吗?如果是,把索引去掉。(然后重建索引)--上面操作整体消耗时间可能大于直接del的时间。 建议使用分区,然后用分区Switch To 另一个表,直接Drop Table 就可以。再大的数据也只要几秒钟。 --trywhile 1=1 begin Delete top (5000) From AttendanceRollcall Where Date<='2010-01-30 00:00:00.000' if @@rowcount<5000 break; end 报告想起情况,我现在删除了两个月的数据Where Date<='2010-03-30 00:00:00.000'(上一次删除到1/30号)这次共101855条数据。用时11:36、折腾人啊。 SET ROWCOUNT 1000--一次刪除1000條DEL:Delete From AttendanceRollcall Where Date<='2010-01-30 00:00:00.000' if @@ROWCOUNT>0 GOTO DEL SET ROWCOUNT 0 10万多条记录要删10分钟? 机器太慢了吧如果定期做的话 直接写个计划任务吧直接getdate后再做修正 合并查询 这么简单的存储过程却执行不了 新手:求教MS SQL SERVER 2000 服务器与客户端问题 关与image类型的问题 怎样解决数据库提示信息为“超时已过期”的问题? 一个很基本的查询...谢谢哈 如何返回数据集的同时修改 一个简单问题:一表根据另一表来更新数据(在线等待。。。。。。) 新人求助查询同一列同时满足两个条件的问题 作业权限???? 怎样在同一张表中复制相同数据 求SQL统计同一天同一个IP登录不同公司的次数
while 1=1
begin
Delete top (5000) From AttendanceRollcall Where Date<='2010-01-30 00:00:00.000'
if @@rowcount<5000 break;
end
这次共101855条数据。用时11:36、折腾人啊。
Delete From AttendanceRollcall Where Date<='2010-01-30 00:00:00.000' if @@ROWCOUNT>0
GOTO DEL
SET ROWCOUNT 0
如果定期做的话 直接写个计划任务吧
直接getdate后再做修正