説明
この構成パラメータは、V3.2.3 BP10バージョンから導入されました。
機能の概要
optimizer_index_cost_adjは、オプティマイザーがインデックススキャンのコストを計算する際に、統計情報のコストが占める割合を制御します。
権限要件
パラメータの確認
sysテナントとMySQLユーザーテナントは、SHOW PARAMETERSステートメントまたはGV$OB_PARAMETERSビューを使用してこのパラメータを確認できます。パラメータの変更
sysテナントとMySQLユーザーテナントは、この構成パラメータを変更できます。
プロパティの説明
| プロパティ | 説明 |
|---|---|
| パラメータタイプ | Int |
| デフォルト値 | 0 |
| 値の範囲 | [0, 100]
説明使用時の値は10に設定することを推奨します。他の値に調整する場合は、テクニカルサポートにお問い合わせください。 |
| 変更は可能か | はい。ALTER SYSTEM SET ステートメントを使用して変更できます。 |
| OBServerノードの再起動が必要か | 不要です。設定は即時に反映されます。 |
使用方法
業務インデックスにデータの偏りが存在する場合にこの構成パラメータを使用することを推奨します:
- 値が0の場合、オプティマイザーはストレージ層の推定行情報のみを使用してインデックススキャンのコストを計算します。
- 値が10の場合、オプティマイザーはインデックススキャンのコストを計算する際に、統計情報のコストの10%とストレージ層の情報コストの90%を合計してインデックススキャンのコストとします。
- 値が100の場合、オプティマイザーは統計情報のみを使用してインデックススキャンのコストを計算します。
設定例
システムテナント
すべてのテナントのインデックス選択最適化機能を無効にします:
obclient> ALTER SYSTEM SET optimizer_index_cost_adj=0 tenant=all_user;インデックス選択最適化を有効にします:
obclient> ALTER SYSTEM SET optimizer_index_cost_adj=10 tenant=all_user;
MySQLテナント
現在のテナントのインデックス選択最適化機能を無効にします:
obclient> ALTER SYSTEM SET optimizer_index_cost_adj=0;インデックス選択最適化を有効にします:
obclient> ALTER SYSTEM SET optimizer_index_cost_adj=10;
Oracleテナント
インデックス選択最適化を無効にします:
obclient> ALTER SYSTEM SET "optimizer_index_cost_adj"=0;インデックス選択最適化を有効にします:
obclient> ALTER SYSTEM SET "optimizer_index_cost_adj"=10;