Hitachi

ノンストップデータベース HiRDB Version 9 コマンドリファレンス(Windows(R)用)


16.3.3 最適化情報収集レベル

検索によって最適化情報を収集する場合,収集する情報のレベルを指定できます。これを最適化情報収集レベルといいます。

各最適化情報レベルの長所,短所を次の表に示します。

表16‒4 各最適化情報レベルの長所,短所

最適化情報収集レベル

長所

短所

lvl1

  • 表の行数を最適化に反映できるため,結合順序などでデータ特性を反映でき,最適化の精度は比較的高いです。

  • pdgetcstの実行時間が比較的短くなります。

  • データの更新を意識した運用となります。

  • アクセスパスが,期待した結果にならなかった場合,表の行数のコスト情報を考慮する必要があるため,アクセスパスの予想が難しくなります。

lvl2

表の行数,最大値,最小値,分布情報などを最適化に反映できるため,結合順序,インデクスの選択などでデータ特性を反映できて,最適化の精度は高いです。

  • データの更新を意識した運用となります。

  • pdgetcstの実行時間が長くなります。

  • アクセスパスが,期待した結果にならなかった場合,取得したコスト情報をすべて考慮する必要があるため,アクセスパスの予想が難しくなります。

  • 列情報は,インデクスの第1構成列の情報だけを取得するので,複数列インデクスを定義している場合,最適化の精度が悪くなります。

アクセスする表の特性を調べて,最適化情報収集レベルを決めてください。ただし,最適化情報を取得しない(pdgetcstを実行しない)方がよい場合もあります。

最適化情報を取得しない場合,更新系SQLでのデータの変更を意識しなくても良くなりますが,最適化にデータ特性を反映できないので最適化の精度は良くないです。

最適化情報収集レベルの推奨値を次の表に示します。

表16‒5 最適化情報収集レベルの推奨値

項番

アクセスする表の特性

推奨する最適化情報収集レベル

1

次の条件をすべて満たす場合

  • 更新系業務を行わない

  • 検索条件にインデクス構成列を含むSQLを実行する

lvl2

2

次の条件をすべて満たす場合

  • 項番1の条件に該当しない

  • コストベース最適化モードが2である

  • 格納行数が変わる更新系業務を行わない

  • 次のどちらかの条件に該当する

    ・ハッシュジョインを行う

    ・副問合せのハッシュ実行を行う

    ・3表以上の結合検索を行う

lvl1

3

上記以外

最適化情報を収集しない(pdgetcstを実行しない)ことをお勧めします。