我做的項目有個功能需要進行批量刪除,刪除的數據量有4.5W條數據。 通過下麵的sql語句刪除這麼多數據,直接導致結果超時,無法刪除數據。 我查了一些資料,可能找的不全,找到了一個方法,分批次刪除,每次刪除100條或者1000條…… 代碼如下: 這個只是我個人的方法,大家如果有更合適的方法,歡迎在評論 ...
我做的項目有個功能需要進行批量刪除,刪除的數據量有4.5W條數據。
通過下麵的sql語句刪除這麼多數據,直接導致結果超時,無法刪除數據。
DELETE FROM dbo.RRoleUser WHERE ID IN (1,3,4,5......)
我查了一些資料,可能找的不全,找到了一個方法,分批次刪除,每次刪除100條或者1000條……
代碼如下:
var page = (deleteList.Count + 99) / 100; for (int i = 0; i < page; i++) { var dls = deleteList.Skip(i * 100).Take(100).ToList(); rRoleUserService.BatchDelete(dls); }
這個只是我個人的方法,大家如果有更合適的方法,歡迎在評論區評論。