【发布时间】:2017-09-01 09:54:00
【问题描述】:
我想知道当您有大量 id 列表并且您需要删除列表中不包含 id 的行时,最佳做法是什么。
在我看来,要走的路是使用“不在”功能:
DELETE FROM Foo
WHERE ID NOT IN (1, 2, 3,... 20000)
但当您的列表很大时,我不确定此解决方案的性能是否符合要求。
有没有其他方法的建议?
【问题讨论】:
-
填一张临时表
-
..并且使用不存在?
-
可以详细说明吗?
-
在不存在的情况下从 Foo 中删除一个 (SELECT 1 FROM #tbl_temp WHERE id_temp = a.id);
-
你有这个整数列表的格式。你有它在字符串变量还是XML中
标签: sql-server