性能診断(自動索引 Automatic Indexing・19c)難易度 高無料
Oracle Database 19c の自動索引(Automatic Indexing)機能を有効化した。
SQL> EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','IMPLEMENT');
自動索引が候補索引を「本採用(可視化)」するまでの流れとして最も適切なものを選べ。(単一選択)
- Aワークロードから候補索引を挙げ、まず不可視(invisible)で作成→実際に性能を改善するか検証し、改善が確認できた候補だけを可視(使用可能)に昇格させる。改善しない候補は可視化しない
- B候補を見つけた時点で即座に可視索引を作成し、全 SQL に無条件で適用する(検証段階は無い)
- C自動索引は候補を提案するだけで索引の作成は一切行わず、作成はすべて DBA が手動で行う必要がある
- D性能が改善しない候補も含め、すべての候補を最終的に可視索引として残す
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済
解説
19c の自動索引(Automatic Indexing)は、実ワークロードを分析して索引の候補を挙げ、 それらをまず不可視(invisible)索引として作成する。次に、その候補が実際に性能を改善するかを検証(対象 SQL の実行で比較)する。
- 候補が既存計画より性能を改善すると判定されれば、可視(visible)=使用可能に昇格させる。
- 改善しない(または悪化する)候補は可視化せず、不可視のまま/使用不可(該当文には使わせない)にする。
- 一連の判断と結果はレポート(
DBMS_AUTO_INDEX.REPORT_ACTIVITY等)で確認できる。
ポイントは「いきなり全 SQL に効かせない」こと。まず不可視で作り、検証に合格したものだけ本採用する(=退行を避けつつ自動化する)。
※Automatic Indexing を利用できるのは Enterprise Edition on Engineered Systems(Exadata。Oracle Database Appliance は対象外)と Oracle Exadata Database Service に限られ、Standard Edition 2 およびオンプレミスの Enterprise Edition では利用できない。
- B検証を経ずに即可視化はしない。まず不可視で作り検証に合格したものだけ可視化する(退行防止のための段階)。
- C自動索引は候補を実際に作成(まず不可視で)し検証・昇格まで自動化する。「提案のみで作成しない」は誤り。
- D改善しない候補は可視化されない(不可視のまま/使用不可)。無差別に残すわけではない。
ひっかけ: 「候補を見つけたら即座に全 SQL で使える可視索引を作る」という誤解。実際は不可視で作成 → 検証 → 合格したものだけ可視化という段階を踏む(退行防止)。
コマンド例と想定される挙動(未実行)
候補索引はまず不可視(INVISIBLE)で作成され、検証に合格したものだけが可視(VISIBLE)になる。 利用条件:Automatic Indexing が使えるのは Enterprise Edition on Engineered Systems(Exadata。Oracle Database Appliance は対象外)と Oracle Exadata Database Service で、Standard Edition 2 およびオンプレミスの Enterprise Edition では利用できない。
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)