删除id不在(非常大)列表中的行 - 最佳做法?

时间:2017-09-01 09:54:01

标签: sql-server

我想知道最佳做法是什么,当你有一个很大的id列表时,你需要删除列表中不包含id的行。

在我看来,要走的路是使用“不在”功能:

DELETE FROM Foo  
WHERE ID NOT IN (1, 2, 3,... 20000)

但是当我的列表非常大时,我不确定这个解决方案的性能如何。

有关如何做的任何建议吗?

1 个答案:

答案 0 :(得分:3)

您可以创建并填充临时表,然后使用nullNOT INNOT EXISTS

LEFT OUTER JOIN

相关:How would I create a temp table in SQL Server when I have a big list of ID's