SQL - 有效删除数千行

时间:2014-03-23 21:01:58

标签: c# sql sql-server

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

这是我的整个表结构:

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

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

1 个答案:

答案 0 :(得分:1)

无论哪种 1:让SQL Server确定密钥(即使用一个或多个JOINs in your DELETE statement

,或者如果无法在SQL Server中生成密钥列表,

2:使用BCPBULK INSERT进入SQL Server,然后在DELETE语句中加入它。