
CURRENT ACCELERATOR 特殊レジスター
CURRENT ACCELERATOR 特殊レジスターは、Db2 が動的 SQL 照会を送信する先の優先ターゲット・アクセラレーター (複数可) を指定します。
CURRENT ACCELERATOR 特殊レジスターは、動的 SQL 照会にのみ適用されます。 静的 SQL 照会の場合には、ACCELERATOR バインド・オプションを使用して、特殊アクセラレーターを指定することができます。
同じ Db2 テーブルのセットが複数のアクセラレータで高速化されている場合、デフォルトではワークロード分散アルゴリズム(WLB)が各アクセラレータのキューの長さに基づいてクエリを分散します。 CURRENT ACCELERATOR 特殊レジスタが特定の適格なアクセラレータサーバーを指名している場合、 Db2 は、他のアクセラレータサーバーに送信する前に、そのサーバーに適格なSQLを送信することを検討します。 CURRENT ACCELERATORで指定されたアクセラレータサーバーが利用できない場合、 Db2 は他の利用可能なアクセラレータサーバーを検討します。
FL 509 複数のアクセラレータで定義されているアクセラレータ専用テーブルでDML文を実行するには、CURRENT ACCELERATOR特殊レジスタが、そのテーブルが定義されているアクセラレータの1つを指定する必要があります。
以下のようなシチュエーションでは、特定のターゲット・アクセラレーターを指定すると便利です。
- ワークロードの優先順位に基づいて、照会をさまざまなアクセラレーターに送信する場合。 優先順位がより高い照会を高速で最も能力が高いアクセラレーターに送信し、優先順位がより低い照会を低速のアクセラレーターに送信することができます。
- 照会がリモートのアクセラレーターに送信された場合に経過時間が長くなることを避けたい場合。 WLB アルゴリズムは、照会がリモートのアクセラレーターに送信されたときに発生する待ち時間に対応しません。 ご使用の環境に、ローカルにデプロイされたアクセラレーターとリモートのアクセラレーター (災害時回復用など) の両方が含まれている場合に、優先順位がより高い照会をローカルのアクセラレーターに送信することができます。
データ・タイプは VARCHAR(8) です。
CURRENT ACCELERATOR の初期値は、次の設定のいずれかによって決定されます。
- パッケージのバインドに対して指定された場合は、ACCELERATOR バインド・オプション。 このバインド・オプションには、デフォルト値がありません。
- それ以外の場合、CURRENT ACCELERATOR のデフォルト設定値はブランク (優先されるアクセラレーターはなし) です。
例
以下のステートメントは、ACCEL1 が優先されるアクセラレーターになるように CURRENT ACCELERATOR 特殊レジスターを設定します。


SET CURRENT ACCELERATOR = ACCEL1;
