Oracle のページングは、データベースの結果セットを取得するための手法であり、「ROWNUM」キーワードとサブクエリを使用して結果セットをより小さなチャンクに分割することで、ネットワーク送信とメモリ消費を削減します。プログラム開発者はページング機能を簡単に実装でき、ユーザーのニーズに基づいて、表示するデータの特定のブロックを選択します。
このチュートリアルの動作環境: Windows 10 システム、Oracle バージョン 19c、DELL G3 コンピューター。
Oracle では、ページングはデータベースの結果セットを取得するために使用される手法です。これにより、プログラマは大量のデータを複数のページに表示し、ユーザーのニーズに応じてセグメント化して表示することができます。
従来のデータベース クエリでは、大量のデータを取得する必要がある場合、データベースはすべての結果をクライアントに返します。これにより、特に結果セットが非常に大きい場合に、ネットワーク遅延とメモリ消費の問題が発生する可能性があります。この問題を解決するために、ページング技術が登場しました。
ページングを使用すると、プログラマは結果セットをより小さなチャンクに分割し、一度に 1 ページのデータのみを返すことができます。これにより、ネットワーク上で転送されるデータの量が削減され、メモリ消費をより適切に管理できるようになります。
Oracle では、通常、ページングは ROWNUM キーワードとサブクエリを使用して実装されます。 ROWNUM は、返された各行に一意の番号を割り当てる Oracle 固有の疑似列です。 ROWNUM を使用すると、プログラマは結果セットのサイズを制限し、返されるデータのチャンクを選択できます。
これは、Oracle でページングを行う方法を示すサンプル クエリです:
SELECT * FROM ( SELECT t.*, ROWNUM AS rn FROM ( SELECT * FROM your_table ORDER BY your_column ) t WHERE ROWNUM <= :end_row ) WHERE rn >= :start_row;
このクエリでは、最初に元の結果セット (ORDER BY your_column) を並べ替えます。次に、クエリ結果を subquery(t) として処理し、各行に ROWNUM 値を割り当てます。外側のクエリでは、WHERE 句を使用して返される行数を制限し、開始行 (:start_row) と終了行 (:end_row) を設定することで特定のデータ ブロックを選択します。
開始行と終了行の値を調整することで、プログラマは異なるページに異なるデータ ブロックを表示できます。たとえば、各ページに 10 行のデータが表示されている場合、最初のページの開始行と終了行はそれぞれ 1 と 10、2 番目のページは 11 と 20 などとなります。
Oracle の ROWNUM は行が選択された後に割り当てられるため、ページング関数を正しく実装するにはネストされたサブクエリを使用する必要があることに注意してください。
ROWNUM に加えて、Oracle では、ROW_NUMBER、OFFSET、FETCH FIRST など、ページング用の他の関数やキーワードも提供しています。これらの機能は、特定のニーズに応じて選択して使用できます。
要約すると、Oracle のページングは、大量のデータを取得して表示するために使用される技術です。結果セットをより小さなチャンクに分割することで、ネットワーク転送とメモリ消費を削減します。 ROWNUM キーワードとサブクエリを使用すると、プログラマはページング機能を簡単に実装し、ユーザーのニーズに基づいて表示する特定のデータ ブロックを選択できます。
以上がOracleのページングとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。