MySQL和几个OR子句之间的MySQL存在性能差异吗?

时间:2010-09-08 14:14:21

标签: mysql performance

以下两个查询之间是否有任何性能差异:

SELECT foo,bar FROM table WHERE id IN (1,2,3);

SELECT foo,bar FROM table WHERE id = 1 OR id = 2 OR id = 3;

我确信这样的小例子中的差异可以忽略不计,但是当有效ID的数量要大得多时呢?

2 个答案:

答案 0 :(得分:2)

优化器更有可能优化WHERE id IN (1,2,3)而不是id = 1 OR id = 2 OR id = 3。我还认为在这里使用IN更具可读性。

使用WHERE id IN (1,2,3)

答案 1 :(得分:0)

这是我在黑暗时代回归的comp.sci数据库课程中的作业。事实证明,在测量限制内两者之间没有太大的性能差异,但... IN (...)版本确实导致了更小的查询,因为构造它需要的字符更少。