我有一个非常大的表,所以我使用以下内容来删除旧条目:
WHILE (@@ROWCOUNT > 0)
BEGIN
DELETE TOP (5000) FROM myTable
WHERE date < 20130103
END
我已经使用不同的日期运行了几次。有时它可以正常工作(大约需要 20 分钟),但有时查询会立即完成并且没有任何内容被删除。发生这种情况时,我只需从该表中执行一个简单的 SELECT 语句,然后再次尝试上面的 WHILE 语句,然后它就可以工作了!有谁知道这是为什么?我需要自动执行此查询以定期运行以控制表大小,但我想确保它在运行时正确删除。谢谢你。