CURRENT DEGREE 特殊レジスター

CURRENT DEGREE 特殊レジスターは、動的 SQL ステートメントを実行するときの、 パーティション内並列処理の度合いを指定します。 (静的 SQL の場合、DEGREE BIND オプションが同じ制御機能として働きます。)

このレジスターのデータ・タイプは CHAR(5) です。 有効な値は、ANY、 または 1 から 32 767 の範囲 (両端の値を含む) の整数のストリング表記です。

SQL ステートメントが動的に準備される時点で、整数として表現される CURRENT DEGREE の値が 1 である場合には、 そのステートメントの実行にパーティション内並列処理は使用されません。

SQL ステートメントが動的に準備されるときに、 整数として表される CURRENT DEGREE の値が 2 以上 32 767 以下である場合、 そのステートメントの実行には、指定された度合いのパーティション内並列処理を伴う場合があります。

SQL ステートメントが動的に準備される時点で、 CURRENT DEGREE の値が ANY である場合、そのステートメントの実行には、 データベース・マネージャーによって決定された度合いを用いたパーティション内並列処理を使用できます。

実際の実行時の並列処理の度合いは、以下の低い方になります。
  • 最大照会度合 (max_querydegree) 構成パラメーターの値
  • アプリケーション実行時の多重度
  • SQL ステートメントのコンパイル度

intra_parallel のデータベース・マネージャー構成パラメーターが NO に設定される場合、 最適化のために CURRENT DEGREE 特殊レジスターの値は無視され、 ステートメントはパーティション内並列処理を使用しません。

値は、SET CURRENT DEGREE ステートメントを呼び出すことによって変更できます。

CURRENT DEGREE の初期値は、dft_degree データベース構成パラメーターによって判別されます。

CURRENT DEGREE 特殊レジスターの値および intra_parallel 設定値は、ワークロードで MAXIMUM DEGREE ワークロード属性の設定によってオーバーライドされます。