0

PLSQL Developer を使用してデータベースからデータを取得しようとしていますが、取得する必要がある行の合計は 1,500 万を超えています。データをまとめて取得しようとすると、本当に時間がかかります。これを 2 つのフェッチ フェーズに分割します。最初のフェーズは 1 ~ 100 万行で、残りは 2 番目のフェーズに進みます。
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 に答える