以下の 2 つのクエリにパフォーマンスの違いはありますか?
SELECT * FROM mytable WHERE name IN ('ABC');
SELECT * FROM mytable WHERE name = ('ABC');
以下の 2 つのクエリにパフォーマンスの違いはありますか?
SELECT * FROM mytable WHERE name IN ('ABC');
SELECT * FROM mytable WHERE name = ('ABC');
いいえ、単一値の場合IN
との間に違いはありません。EXPLAIN EXTENDED=
を使用してクエリ実行プランを確認できます。
EXPLAIN EXTENDED SELECT * FROM mytable WHERE name IN ('ABC');
SHOW WARNINGS;
いいえ。MySQL は内部的に書き換えx IN (a, b, c)
ていると思いますx = a OR x = b OR x = c
ので、同じクエリです。