10万件以上のレコードでクエリを実行する時間の観点から、次のうちどれがパフォーマンスが優れているかを知りたい
1)Oracleのページ付け
SELECT *
FROM (
SELECT id, col1, col2, rownum rn
FROM (
SELECT /*+ first_rows(50) */ id, col1, col2
FROM table1
ORDER BY id DESC
)
WHERE rownum <= 50
)
WHERE rn >= 20;
2)MyBatisRowBoundsを使用したページネーション。
MyBatis RowBoundsは通常のJDBCを使用し、selectを起動した後、最初の20レコードをスキップし、次の30(ページサイズ)をフェッチします。
また、スキップする必要のある行が増えるにつれてページ数が増えると、MyBatisのアプローチは遅くなりますか?