我正在尝试使用PLSQL Developer从数据库中获取数据,需要获取的行总数超过150万行。当我试图一起获取数据时,这将花费很长时间。我要将它拆分为两个取出阶段,第一个,第1-1行,第二个阶段。第二个阶段。 我怎么能在PLSQL中做到这一点?
答案 0 :(得分: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;