db2fopt コマンドは、照会オプティマイザーが使用するパラメーターを指定します。 このコマンドは、物理リソースが実動システムよりも少ないテスト・システムをセットアップする場合に使用できます。
例えば、実動システムが sortheap=20000 という設定で稼働し、テスト・システムは sortheap=5000 という設定でのみ動作できる場合は、テスト・システムで db2fopt を使用することによって opt_sortheap オプティマイザー・パラメーターを 20000 に設定できます。 これによりオプティマイザーは、sortheap データベース構成パラメーターが 5000 に設定されていても、アクセス・プランを評価する際にソート・ヒープ値として 20000 を使用するようになります。
>>-db2fopt--DBname----------------------------------------------> .----------------------------. V | >--+-update----optimizer-parameter--value-+-+------------------>< | .---------------------. | | V | | '-get----optimizer-parameter-+-----------'
このツールは、異種データベース・パーティション構成から成るパーティション・データベース環境で使用されることがあります。 この場合、ステートメント・コンパイルはコーディネーター・データベース・パーティションで行われますが、コーディネーター・データベース・パーティションのデータベース構成の設定値は、照会処理が行われるインスタンス内のデータベース・パーティションのものとは異なることがあります。
オプティマイザー・パラメーターの値が 0 の場合、オプティマイザー値は指定されていません。 ステートメント・コンパイルでは、データベース構成での値が使用されます。
オプティマイザー・パラメーターの値を 0 に更新すると、前回更新した値がリセットされます。
更新アクションで非数値または負の値を指定すると、値は 0 に設定されます。
更新を有効にするには、データベース・パーティションのすべての接続を終了するとともに、データベース・パーティションを非アクティブ化する必要があります (アクティブ化状態になっている場合)。
オプティマイザー・パラメーターは、ステートメント・コンパイルにのみ使用されます。 パーティション・データベース環境では、コーディネーター・データベース・パーティションに対して設定する必要があります。
テスト・システムで指定する実際の値を判断するには、db2exfmt ツールを使用して実動システムから Explain 出力を取得し、データベース・コンテキスト ・セクションを参照します。
db2fopt testdb get opt_sortheap opt_locklist opt_maxlocks
例 2: opt_buffpage および opt_sortheap パラメーターを設定します。
Database Context:
----------------
Parallelism: None
CPU Speed: 1.456395e-07
Comm Speed: 0
Buffer Pool size: 89000
Sort Heap size: 10000
Database Heap size: 1200
Lock List size: 8000
Maximum Lock List: 10
Average Applications: 1
Locks Available: 93030
db2fopt testdb update opt_buffpage 89000 opt_sortheap 10000 opt_locklist 8000
opt_maxlocks 10