プライマリ・コンテンツに移動
Oracle® Database VLDBおよびパーティショニング・ガイド
12c リリース1 (12.1)
B71291-10
目次へ移動
目次
索引へ移動
索引

前
次

SQL文のパラレル実行

各SQL文では、解析の際に最適化およびパラレル化のプロセスが行われます。パラレル実行がパラレルで実行された場合、次の手順が実行されます。

  1. ユーザー・セッションまたはシャドウ・プロセスが、コーディネータの役割を引き受けます。これは、問合せコーディネータと呼ばれることもあります。

  2. 問合せコーディネータは、必要な数のパラレル・サーバーを取得します。

  3. SQL文は一連の操作(非索引列に対する結合を実行するための全表スキャン、ORDER BYなど)として実行されます。パラレル実行サーバーは可能な場合には各操作をパラレルで実行します。

  4. パラレル実行サーバーで文の実行が終了すると、問合せコーディネータは、パラレルで実行できない作業の部分を実行します。たとえば、SUM()演算を含むパラレル問合せでは、各パラレル・サーバーで計算された小計それぞれを合計する必要があります。

  5. 最後に問合せコーディネータが結果をユーザーに返します。

オプティマイザが文の実行計画を決定した後で、パラレル実行コーディネータが計画の各操作におけるパラレル実行の方法を決定します。通常の条件で、これは、エンド・ユーザーの最終結果を準備するための単純なメンテナンス作業です。たとえば、ブロック・レンジごとのパラレル全表スキャンの実行や、パーティションごとのパラレル索引レンジ・スキャンの実行です。コーディネータは、操作をパラレルで実行できるかどうかと、実行できる場合には使用するパラレル実行サーバーの数を決定する必要があります。1セットのパラレル実行サーバーの数が並列度(DOP)です。