我有一个表在我的数据库,只有当一个特定的运行报告,并可以生长在上述期间相当大的被删除的记录。我正在为报表运行时实施批量删除。只想获得关于路线的意见。批量删除记录在数据库
While Exists (select top (1) StoreNbr from #Test WHERE DATEDIFF(dd, LogDate, GETDATE()) >= 60)
Begin
delete top (5000) from #Test WHERE DATEDIFF(dd, LogDate, GETDATE()) >= 60
End
- 我应该使用WAITFOR延迟内环路,这是否有任何实际的好处?
- 我应该禁用表上的索引以前在执行删除和重新启用它们一旦完成?
请务必注明您正在使用的SQL方言。我从语法上猜到了MS SQL Server,但我可能是错的。 – Charles