【发布时间】:2015-02-03 21:53:11
【问题描述】:
使用 Java 8 jdbc PreparedStatement 和 Oracle XE 数据库,我正在寻找 SQL 来从具有许多记录的表中查询数据页。
目前我们使用以下 SQL 语句一次获取 1000 条记录...
select col1, col2, col3
from (select col1, col2, col3, rownum as ROW_NUM
from some_table order by a_unique_key)
where row_num between 1 and 1000;
如果有人知道分页此数据的更好方法,请告诉我。
【问题讨论】:
-
您提到的查询可能不会返回按 a_unique_key 排序的行 - rownum 是在排序之前分配的,可能会发生变化
-
select col1, col2, col3 from (select col1, col2, col3 from some_table order by a_unique_key) where rownum
标签: java sql oracle performance jdbc