【问题标题】:Fastest way to page / batch data from Oracle?从 Oracle 分页/批处理数据的最快方法?
【发布时间】: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


【解决方案1】:

我不确定 rownum 将如何帮助您.. 尝试使用限制为 1000 条记录的批量 SQL。这样在每次传递中你就会得到 1000 条记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-11
    • 2014-02-24
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 2017-08-24
    相关资源
    最近更新 更多