次のMysqlクエリがあります。これは低速のクエリであり、完了するまでに約 3 秒かかります。message_id は主キーです。これの問題は、高い LIMIT オフセットLIMIT 85075, 25
です。
SELECT * FROM `phorum_messages` WHERE 1 and `catergory` >=0 and parent_id=0 order by `message_id` desc LIMIT 85075, 25;
この解決策に基づいて、クエリを次のように変更しました。問題は、を削除するwhere parent_id=0
と、速度がはるかに速くなることです。しかし、私は本当に必要ですwhere parent_id=0
編集:私はすでにparent_idとmessage_idのインデックスを作成しました.
助言がありますか?前もって感謝します。
SELECT t.*
FROM (
SELECT message_id
FROM phorum_messages where parent_id=0
ORDER BY message_id desc LIMIT 85075, 25
) q
JOIN phorum_messages t
ON t.message_id = q.message_id