我想知道最佳做法是什么,当你有一个很大的id列表时,你需要删除列表中不包含id的行。
在我看来,要走的路是使用“不在”功能:
DELETE FROM Foo
WHERE ID NOT IN (1, 2, 3,... 20000)
但是当我的列表非常大时,我不确定这个解决方案的性能如何。
有关如何做的任何建议吗?
答案 0 :(得分:3)
您可以创建并填充临时表,然后使用null
,NOT IN
或NOT EXISTS
:
LEFT OUTER JOIN
相关:How would I create a temp table in SQL Server when I have a big list of ID's