4.5 SQLの最適化
HiRDBには,SQL文の検索効率を良くするための最適化機能があります。
最適化処理には,方式の異なるSQL最適化モードがあります。SQL拡張最適化オプションの指定値,及びSQLの構文から,HiRDBがSQLごとにSQL最適化モードを決定します。
SQL最適化モードの種類を次に示します。
-
コストベース最適化モード1(バージョン06-00より前のHiRDBで使用している最適化処理方式)
-
コストベース最適化モード2(バージョン06-00以降のHiRDBで使用できる最適化処理方式)
さらに,データベースの状態を考慮して,最も効率的なアクセスパスを決定するための最適化の方法を指定できます。最適化の方法には次の三つがあります。
- SQL最適化指定:
-
SQL最適化指定は,SQL文中に指定できます。指定したSQLに対して,最適化が適用されます。
SQL最適化指定については,マニュアル「HiRDB SQLリファレンス」を参照してください。
- SQL最適化オプション,SQL拡張最適化オプション:
-
SQL最適化オプション,SQL拡張最適化オプションには,それぞれ複数の機能が割り当てられていて,その中から必要とする機能を選択できます。SQL最適化オプションで指定する機能は,コストベース最適化モード1及びコストベース最適化モード2の両方で有効となります。SQL拡張最適化オプションで指定する機能は,コストベース最適化モード2の場合だけ有効となります。
SQL最適化オプション,SQL拡張最適化オプションについては,「クライアント環境定義の設定内容」を参照してください。
- 注意事項:
-
SQL最適化モードを選択する場合の指標を次に示します。
- <バージョン06-00以降のHiRDBを初めて導入する場合>
-
-
コストベース最適化モード2を使用することをお勧めします。
-
コストベース最適化モード2を使用する場合は,最適化の精度を更に向上させるため,必要に応じて最適化情報収集ユティリティを実行してください。最適化情報収集ユティリティの実行要否については,マニュアル「HiRDB コマンドリファレンス」を参照してください。
-
SQL最適化オプション,SQL拡張最適化オプションには,指定した方がよい推奨値があります。この推奨値は必ず指定するようにして,更にそれ以外に使用できる機能がないか検討してください。
-
- <バージョン06-00より前のHiRDBをバージョンアップする場合>
-
バージョンアップ前と同じ状態で使用するために,コストベース最適化モード1を使用することをお勧めします。ただし,SQL文によっては,常にコストベース最適化モード2を使用する場合があるため,既に構築されている環境で新しい運用を始めるときには,SQL拡張最適化オプションの指定値についても検討してください。また,SQL最適化オプションの指定値は変更しないでください。