4

mysqlの句の値のリストにIN重複する値があり、並べ替えられていない場合、クエリのパフォーマンスに影響しますか。

例えば

SELECT * FROM `t1` WHERE `id` IN (2,2,3,1,1);

v / s

SELECT * FROM `t1` WHERE `id` IN (1,2,3);
4

2 に答える 2

4

MySQL個別の値を取り除き、最適化段階でそれらを並べ替えます。

これはパフォーマンスにわずかに影響しますが、ほとんどの実際のクエリでは、違いに気付くことはありません(ミリ秒のオーダーです)。

于 2012-06-08T07:01:30.770 に答える
0

次のようなクエリを使用している場合、これについて心配する必要があります。

SELECT * FROM `t1` WHERE `id` IN (SELECT `id` FROM `t2`);

そして、返される行数はt21000 を超えています!

于 2012-06-08T07:08:15.530 に答える