4列のメンバーメッセージを格納するmysqlテーブルがあります:
- message_id(主キー、自動インクリメント)
- sender_id(キー)
- Receiver_id(キー)
- message_content
私はたくさんのことをします、SELECT
そして私はいつもそれらを次のmessage_id DESC
ようなクエリでソートします:
SELECT message_content
FROM table
WHERE sender_id='3333'
ORDER BY message_id DESC
LIMIT 30
このようなクエリでは、ORDER BY
コストがかかります(通常、数千行を並べ替える必要があり、毎秒多くのリクエストを掛けると負荷が発生します)
毎回テーブルを並べ替える必要がないようにする方法はありますか?常に同じ順序で結果を取得したいので、message_id列は時間の経過とともに変化しないため、新しいテーブル行が最初の位置に挿入されると、テーブルは常に並べ替えられ、「ORDER」は必要ありません。 BY」はもう。それは可能ですか?または他の解決策はありますか?
ありがとうございました