0

我正在尝试使用 PLSQL Developer 从数据库中获取数据,需要获取的总行数超过 150 万。当我尝试将所有数据一起获取时,确实需要很长时间。我将把它分成两个获取阶段,第一个,第 1 - 100 万行,其余的进入第二阶段。
我怎么能在 PLSQL 中做到这一点?

4

1 回答 1

2

这使用分析函数选择每行的编号,以便您可以按行号查询;

SELECT *
FROM
(
SELECT *,
       ROW_NUMBER() OVER(ORDER BY id_column_here) r
  FROM my_table
)
WHERE R<=100000;

您可以使用较小的行间隔来检索前 1000 个,然后是下一个,依此类推:

SELECT *
FROM
(
SELECT *,
       ROW_NUMBER() OVER(ORDER BY id_column_here) r
  FROM my_table
)
WHERE R between 1000 and 2000;
于 2012-04-20T23:07:59.850 回答