如何在没有日志的情况下删除SQL中的表大数据?

我有一个大数据表。该表中有1000万条记录。


什么是此查询的最佳方法


   Delete LargeTable where readTime < dateadd(MONTH,-7,GETDATE())


一只名叫tom的猫
浏览 555回答 3
3回答

慕标5832272

只是一个小的更正。设置变量后必须使用COMMIT,否则WHILE将仅执行一次:DECLARE @Deleted_Rows INT;SET @Deleted_Rows = 1;WHILE (@Deleted_Rows > 0)BEGIN&nbsp; &nbsp; BEGIN TRANSACTION&nbsp; &nbsp; -- Delete some small number of rows at a time&nbsp; &nbsp; DELETE TOP (10000)&nbsp; LargeTable&nbsp;&nbsp; &nbsp; WHERE readTime < dateadd(MONTH,-7,GETDATE())&nbsp; &nbsp; SET @Deleted_Rows = @@ROWCOUNT;&nbsp; &nbsp; COMMIT TRANSACTION&nbsp; &nbsp; CHECKPOINT -- for simple recovery modelEND
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server