我想知道以下哪一项在执行 100k+ 记录的查询方面表现更好
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) 使用 MyBatis RowBounds 进行分页。
MyBatis RowBounds 使用普通的 JDBC 并在触发 select 后跳过前 20 条记录,然后获取接下来的 30 条记录(页面大小)。
另外,MyBatis 方法是否会随着页码的增加而变慢,因为需要跳过更多行?