SET CURRENT EXPLAIN MODE ステートメントは、 CURRENT EXPLAIN MODE 特殊レジスターの値を変更します。 このステートメントは、トランザクションの制御下にはありません。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、 あるいは対話式に発行することができます。 このステートメントは、動的に準備可能な実行可能ステートメントです。
許可
このステートメントの実行には、特別な権限は必要ありません。
構文
.-=-. >>-SET CURRENT EXPLAIN MODE--+---+----+-NO----------------+---->< +-YES---------------+ +-EXPLAIN-----------+ +-RECOMMEND INDEXES-+ +-EVALUATE INDEXES--+ '-host-variable-----'
説明
注
静的 SQL ステートメントの Explain 情報は、 PREP または BIND コマンドの EXPLAIN オプションの使用によって取り込むことができます。 EXPLAIN オプションの ALL の値が指定され、 CURRENT EXPLAIN MODE のレジスター値が NO の場合には、 実行時に動的 SQL ステートメントの Explain 情報が取り込まれます。 CURRENT EXPLAIN MODE レジスターの値が NO 以外の場合、 EXPLAIN バインド・オプションの値は無視されます。 EXPLAIN オプションと CURRENT EXPLAIN MODE 特殊レジスターとの相互間の作用については、 表 143 を参照してください。
RECOMMEND INDEXES と EVALUATE INDEXES は特殊モードで、 それらを設定するために使えるのは SET CURRENT EXPLAIN MODE コマンドだけです。 これらのモードは PREP または BIND オプションを使って設定することはできません。 また、SET CURRENT SNAPSHOT コマンドを使用しても動作しません。
Explain 機能が活動化される場合、 現行の許可 ID に Explain 表に対する INSERT 特権が必要です。 この特権がない場合には、エラー (SQLSTATE 42501) が発生します。
詳細については、管理の手引き を参照してください。
例
例 1: 次のステートメントでは、 以降の適格な動的 SQL ステートメントの Explain 情報を取り込み、 そのステートメントが実行されないように、 CURRENT EXPLAIN MODE 特殊レジスターを設定しています。
SET CURRENT EXPLAIN MODE = EXPLAIN