1. ホーム
  2. mysql

[解決済み] MySQLのクエリに'LIMIT 1'を追加すると、結果が1つしかないことが分かっている場合、クエリが速くなるのか?

2023-02-02 02:16:31

質問

MySQL クエリに LIMIT 1 を追加した場合、1 つの結果を見つけた後に検索を停止するのですか (したがって高速化します)、それともすべての結果をフェッチして最後に切り捨てるのですか?

どのように解決するのですか?

クエリによっては、limit句を追加することで性能に大きな影響を与えることがあります。1 行だけ欲しい(または 1 行だけがクエリを満たすことができるという事実を知っている)場合で、内部オプティマイザがどのように実行するか(たとえば、WHERE 句がインデックスにヒットしないなど)がわからない場合は、絶対に LIMIT 句を追加すべきです。

最適化されたクエリ(小さなテーブルでインデックスを使用する)に関しては、おそらくパフォーマンスにおいてそれほど重要ではありませんが、繰り返しますが、もし1行にしか興味がないのであれば、関係なくLIMIT句を追加してください。