只想知道哪个更快:

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')

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

谢谢你们!

最佳答案

出于以下几个原因,单个删除操作会更快:

  • 只需要一个计划
    生成的
  • 只有一笔交易
    参与(如果您正在使用它们)
  • 如果您是通过代码运行这些代码,
    这样就减少了开销
    ODBC调用和网络流量
  • 任何索引都需要
    刷新一次,但没有刷新很多次。
  • 关于sql-server - 哪个更快?使用 "IN (' x', '' y')的多个DELETE语句或单个DELETE语句”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/401616/

    10-12 12:40
    查看更多