在MySQL中使用IN('ABC')和='ABC'之间是否存在性能差异?

时间:2012-08-20 12:53:10

标签: mysql performance

以下两个查询之间是否存在性能差异?

SELECT * FROM mytable WHERE name IN ('ABC');

SELECT * FROM mytable WHERE name = ('ABC');

2 个答案:

答案 0 :(得分:4)

对于单个值,IN=之间没有区别。您可以使用EXPLAIN EXTENDED检查查询执行计划:

EXPLAIN EXTENDED SELECT * FROM mytable WHERE name IN ('ABC');

SHOW WARNINGS;

答案 1 :(得分:-1)

没有。我相信MySQL会在内部将x IN (a, b, c)重写为x = a OR x = b OR x = c,因此它是相同的查询。