以下两个查询之间是否有任何性能差异:
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的数量要大得多时呢?
答案 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 (...)
版本确实导致了更小的查询,因为构造它需要的字符更少。