Where Date<='2010-01-30 00:00:00.000' 
大概有多少数据?

解决方案 »

  1.   

    将日期加入索引,另建议做个循环SQL脚本,每次删除如:10000条,这样就能快了。
      

  2.   

    只让删除快点就OK吗?如果是,把索引去掉。(然后重建索引)--上面操作整体消耗时间可能大于直接del的时间。
      

  3.   

    建议使用分区,然后用分区Switch To 另一个表,直接Drop Table 就可以。再大的数据也只要几秒钟。
      

  4.   

    --try
    while 1=1
      begin
        Delete top (5000) From AttendanceRollcall Where Date<='2010-01-30 00:00:00.000'
        if @@rowcount<5000 break;
      end 
      

  5.   

    报告想起情况,我现在删除了两个月的数据Where Date<='2010-03-30 00:00:00.000'(上一次删除到1/30号)
    这次共101855条数据。用时11:36、折腾人啊。
      

  6.   

    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
      

  7.   

    10万多条记录要删10分钟? 机器太慢了吧
    如果定期做的话  直接写个计划任务吧
    直接getdate后再做修正