分批执行,减少Delete暂用排它锁的时间.

解决方案 »

  1.   

    如果是删除表中所有记录,可用:truncate table 表名
      

  2.   

    --试试这两种删除方法delete from tb with(HOLDLOCK)delete from tb with(PAGLOCK)
      

  3.   

    批量删除,比如每次删掉1000条while (1=1)
    begin
       set rowcount 1000
       delete from table1 where 时间3个月之前
       if @@rowcount=0 break
    end
    set rowcount 0
      

  4.   

    你一次删除是怎么规定的?1、多长时间删除一次
    2、每次删除那些记录?一年前的,一月前的,还是全部?如果全部好办 truncate table tablename就可以,速度还可以
    如果不是全部,那你的表有没有时间字段?时间字段有没有索引?