0

以下のクエリの EXPLAIN 結果を理解しようとしています。行 = 7 (テーブルの合計サイズ) を取得しますが、実際のクエリでは 1 行しか返されません。説明結果の行= 7は、MySQLがこの結果を得るためにすべての行をチェックしたことを意味しますか?

 EXPLAIN SELECT conversation_id FROM messages 
    WHERE to_id = '355' AND timestamp < '1376856934' LIMIT 1;

to_id='355' を持つのは 4 行のみであり、列 to_id とタイムスタンプは両方とも一緒にインデックス付けされているため、1 行を取得するためだけにテーブル全体をスキャンする必要がある理由がわかりません。

4

2 に答える 2

0

MySQL のドキュメントから:

LIMIT 句を使用して、SELECT ステートメントによって返される行数を制限できます。

EXPLAIN結果がどのように収集されるかを説明LIMITし、以前に収集された結果から返される行を制限するだけです。

于 2013-08-18T22:34:14.283 に答える