我需要从 sql server 2008 数据库中删除很多行,它必须是可扩展的,所以我在考虑批量删除,问题是这方面的引用并不多,至少在我的情况下。
第一个因素是我将确切知道要删除的每一行的 ID,因此任何带有 TOP 的提示都不是一个选项,而且我将删除我想要保留的较少行,因此不需要一些“drop/temp”表/重新创建”方法。
所以我在考虑使用 WHERE IN ,无论是提供 ID 还是带有 ID 的 xml 数据,还有一个选项可以使用 MERGE 删除行。
如果我必须删除 1000 多行,将所有 id 发送到 WHERE IN 可能有问题吗?而 MERGE 呢?它真的可以解决所有批量插入/更新/删除问题吗?选择什么?