sql-server - 哪个更快?多个 DELETE 语句或单个 DELETE 语句使用 "IN (' x', '' y')"

标签 sql-server database

只是想知道哪个更快:

DELETE FROM table_name WHERE X='1'
DELETE FROM table_name WHERE X='2'
DELETE FROM table_name WHERE X='3'

DELETE FROM table_name WHERE X IN ('1', '2', '3')

有什么想法、提示或引用资料可以阅读吗?

谢谢大家!

最佳答案

由于以下几个原因,单个删除会更快:

  1. 只需要一个计划 生成
  2. 只会进行一次交易 涉及(如果您正在使用它们)
  3. 如果您从代码中运行这些, 那么开销就更少了 ODBC 调用和网络流量
  4. 任何索引都需要 只刷新一次,不会刷新很多次。

关于sql-server - 哪个更快?多个 DELETE 语句或单个 DELETE 语句使用 "IN (' x', '' y')",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/401616/

相关文章:

mysql - 我的查询需要哪种连接类型

带更新的 C# SqlCommand 查询

sql - SQL Server 中全文搜索的奇怪行为

c# - 数据库错误 : There is no row at position 0

database - 什么时候需要提供CA文件?

java - 来自数据库表的 i18N 消息 - java spring 3.0

sql - 索引所有列

c# - T-SQL Fastforward 游标与 foreach

database - EMR(电子病历)标准记录格式?

mysql - 从三个字段中识别一个字段,其中字段的值等于 `MySQL`中的特定数字