テーブルに 1,000 万件を超えるレコードがあります。
SELECT * FROM tbl ORDER BY datecol DESC
LIMIT 10
OFFSET 999990
Explain.depesz.comEXPLAIN ANALYZE
の出力。
上記のクエリの実行には約 10 秒かかります。どうすればこれをより速くすることができますか?
アップデート
サブクエリを使用すると、実行時間が半分に短縮されます。
SELECT * FROM tbl where id in
(SELECT id FROM tbl ORDER BY datecol DESC LIMIT 10 OFFSET 999990)
Explain.depesz.comEXPLAIN ANALYZE
の出力。