【问题标题】:How different is WHERE id IN(4) versus WHERE id = 4? [duplicate]WHERE id IN(4) 与 WHERE id = 4 有何不同? [复制]
【发布时间】:2012-08-22 20:16:11
【问题描述】:

可能重复:
Why would an IN condition be slower than “=” in sql?

这样做有什么性能差异:

SELECT foo FROM bar WHERE id IN (4)

对比

SELECT foo FROM bar WHERE id = 4

【问题讨论】:

  • 你试过explain select ...吗?
  • 那个问题是关于在子查询中使用 IN 语句,例如 SELECT FROM foo WHERE id IN (SELECT..) 而我的问题是差异。在SELECT WHERE id IN (val)SELECT WHERE id = val 之间。因此它不是重复的。

标签: mysql sql query-optimization


【解决方案1】:

我相信 MySQL 优化器会将 id IN(4) 转换为 id = 4,所以没有性能差异

【讨论】:

  • 手册中的任何地方都有这样说吗?
  • 你知道还是你只是这么认为?请不要用“我相信”回答问题,请提供证据
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 2011-01-27
  • 1970-01-01
  • 1970-01-01
  • 2011-08-13
  • 1970-01-01
相关资源
最近更新 更多