以下两个查询之间是否存在性能差异?
SELECT * FROM mytable WHERE name IN ('ABC');
SELECT * FROM mytable WHERE name = ('ABC');
答案 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
,因此它是相同的查询。