c# sqlserver 刪除大批量數據超時


我做的項目有個功能需要進行批量刪除,刪除的數據量有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);
                    }

這個只是我個人的方法,大家如果有更合適的方法,歡迎在評論區評論。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM