スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド

[目次][索引][前へ][次へ]

4.5 SQLの最適化

HiRDBには,SQL文の検索効率を良くするための最適化機能があります。

最適化処理には,方式の異なるSQL最適化モードがあります。SQL拡張最適化オプションの指定値,及びSQLの構文から,HiRDBがSQLごとにSQL最適化モードを決定します。

SQL最適化モードの種類を次に示します。

 

さらに,データベースの状態を考慮して,最も効率的なアクセスパスを決定するための最適化の方法を指定できます。最適化の方法には次の三つがあります。

SQL最適化指定:
SQL最適化指定は,SQL文中に指定できます。指定したSQLに対して,最適化が適用されます。
SQL最適化指定については,マニュアル「HiRDB Version 8 SQLリファレンス」を参照してください。

SQL最適化オプション,SQL拡張最適化オプション:
SQL最適化オプション,SQL拡張最適化オプションには,それぞれ複数の機能が割り当てられていて,その中から必要とする機能を選択できます。SQL最適化オプションで指定する機能は,コストベース最適化モード1及びコストベース最適化モード2の両方で有効となります。SQL拡張最適化オプションで指定する機能は,コストベース最適化モード2の場合だけ有効となります。
SQL最適化オプション,SQL拡張最適化オプションについては,「6.6.4 クライアント環境定義の設定内容」を参照してください。
 

注意事項:
SQL最適化モードを選択する場合の指標を次に示します。
<バージョン06-00以降のHiRDBを初めて導入する場合>
  • コストベース最適化モード2を使用することをお勧めします。
  • コストベース最適化モード2を使用する場合は,最適化の精度を更に向上させるため,必要に応じて最適化情報収集ユティリティを実行してください。最適化情報収集ユティリティの実行要否については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。
  • SQL最適化オプション,SQL拡張最適化オプションには,指定した方がよい推奨値があります。この推奨値は必ず指定するようにして,更にそれ以外に使用できる機能がないか検討してください。
<バージョン06-00より前のHiRDBをバージョンアップする場合>
バージョンアップ前と同じ状態で使用するために,コストベース最適化モード1を使用することをお勧めします。ただし,SQL文によっては,常にコストベース最適化モード2を使用する場合があるため,既に構築されている環境で新しい運用を始めるときには,SQL拡張最適化オプションの指定値についても検討してください。また,SQL最適化オプションの指定値は変更しないでください。
<この節の構成>
4.5.1 SQL最適化モード
4.5.2 最適化方法の種類
4.5.3 SQLの最適化の指定方法
4.5.4 フロータブルサーバの割り当て方法(HiRDB/パラレルサーバ限定)
4.5.5 グループ分け処理方式(HiRDB/パラレルサーバ限定)
4.5.6 結合方式
4.5.7 検索方式
4.5.8 外への参照のない副問合せの実行方式
4.5.9 外への参照のある副問合せの実行方式
4.5.10 ハッシュジョイン,副問合せのハッシュ実行を適用する場合の準備
4.5.11 探索高速化条件の導出