我有这样的语句正在超时:
DELETE FROM [table] WHERE [COL] IN ( '1', '2', '6', '12', '24', '7', '3', '5')
我尝试一次像这样做一次:
DELETE FROM [table] WHERE [COL] IN ( '1' )
到目前为止,已经到了22分钟,而且还在继续。
该表中有260,000行,为四列。
有谁知道为什么会这么慢以及如何加快速度?我在[WOL]上确实有一个非唯一,非聚集的索引,我正在其中执行WHERE操作。我正在使用SQL Server 2008 R2
更新:我桌上没有触发器。
可能导致删除速度变慢的事情:
因此,您的选择是找出阻塞的原因并进行修复,或者在不影响正常生产负荷的情况下在非工作时间运行删除。您可以批量运行删除(如果您有触发器,级联删除或大量记录,则很有用)。您可以删除并重新创建索引(最好也可以在非工作时间进行)。