クエリは最初の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を混在させていることに注意してください は、パフォーマンスを向上させるためのネストされたクエリからのものです。
詳細については、私のブログのこの記事を参照してください: