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