1
explain select * from user where nick = 'vertichvostka' limit 1;
テーブルには300万行があります。 制限1を設定すると、mysqlが21012行を読み込むのはなぜですか?なぜ私は限界を設定するよりも多くの行を読み込みますか?
explain select * from user where nick = 'vertichvostka' limit 1;
テーブルには300万行があります。 制限1を設定すると、mysqlが21012行を読み込むのはなぜですか?なぜ私は限界を設定するよりも多くの行を読み込みますか?
この古い記事に立ち:行の数を推定しながらMySQL EXPLAIN limits and errors
LIMITは、あなたがMySQLの意志を検討する行数制限LIMITを持っている場合であっても考慮されていませんまだ完全な番号を印刷します。 MySQLは必要な数を送信したとすぐにhttps://dev.mysql.com/doc/refman/5.5/en/limit-optimization.html
:
から:あなたが実際にそれが
limit
句で指定した行数の後に停止しますクエリを実行もちろんクライアントへの行の、それはクエリ
制限はちょうど行の戻り量を制限し、ないどのように多くの – ThisGuyHasTwoThumbs
@Thisからの読み取りを中止しますGuyHasTwoThumbs私はOPがクエリ内に 'limit'句があるので最初のマッチの後で止めることができる場合、' where'節に一致するすべての行を見つける理由を質問しています。 – Paolo
@Paoloああ、私が上に投稿した理由^^ haha – ThisGuyHasTwoThumbs