2012-04-20 10 views
0

PLSQL Developerを使用してデータベースからデータをフェッチしようとしていますが、フェッチする必要がある行の合計は1,500万を超えています。データをまとめてフェッチしようとすると、実際にはかなり時間がかかります。私は2つのフェッチフェーズに分割するつもりです。第1フェーズ、第1フェーズ、第1フェーズ、第1フェーズ、第2フェーズに移動します。
PLSQLでこれをどのように行うことができますか?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; 
関連する問題