SQL -有效地删除数千行

本文关键字:千行 有效地 删除 SQL | 更新日期: 2023-09-27 17:51:24

我需要从sql server表中删除数千甚至数十万行。我有一个List<int>对象的主键列表,使用c#。我知道使用DELETE FROM table WHERE id IN (....)是没有效率的。

这是我的整个表结构:

ID (int, PK, clustered index) TypeID (int, FK, no index) SourceID (int, NO FK, no index)

完成任务最有效的SQL是什么?谢谢。

SQL -有效地删除数千行

都可以1:让SQL Server决定键(即在你的DELETE语句中使用一个或多个join)

,或者如果键列表不能纯粹在SQL Server中生成,

2:使用BCP或BULK INSERT将它放入SQL Server,然后在DELETE语句中JOIN到它。