mysql Explain を実行して 1 つのクエリをチェックしたところ、結果をソートするために 250000 を超えるレコードをチェックする必要があることに驚きましたが、where 句のインデックスがあり、mysql Explain が提供しているものは何でも、新しい行がたくさんあることに完全に同意しますが追加されたので、この問題を整理する方法 .mysql テーブル構造は
tableA is a forum where users can post the content
id userid created title
1 3 12232 xyz
2 etc...............
私のmysqlクエリは
explain SELECT * from tableA where userid='2' order by created desc limit 3
この説明クエリの出力は
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE tableA ref userid userid 4 const 275216 Using where; Using temporary; Using filesort
私の心配は、3つの結果のみを表示することに興味があるため、これを3〜4に減らす方法ですが、mysqlは出力を表示する前に275216レコードを検索しています。ユーザーID 2がフォーラムに投稿された後に275216レコードが作成されたため、特定のデータのみを検索して、非常に小さな行セットから結果を検索できるようにmysqlに指示する解決策は何ですか?mysqlが検索する最大20〜30行が必要ですサーバーへ 3 行