スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(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を実行しない)ことをお勧めします。