クエリは最初の90M
をカウントオフする必要があります 次の100
を取得するためのレコード 、したがって、改善の余地はほとんどありません。
ORDER BY
が表示されません サブクエリの句ですが、おそらくそれがあります。この場合、インデックスを作成することをお勧めします。
そして質問:ユーザーは本当に900K
をクリックしますか パフォーマンスについて文句を言う前のページ?
更新:
最新のページが必要な場合は、ORDER BY
を書き直す必要があります 降順の列:
SELECT *
FROM (
SELECT rownum rnum, f.*
FROM findings f
ORDER BY
record_ordering_column DESC
)
WHERE rnum > 900
AND rownum <= 100
record_ordering_column
にインデックスを作成します
rownum
を混在させていることに注意してください は、パフォーマンスを向上させるためのネストされたクエリからのものです。
詳細については、私のブログのこの記事を参照してください: