Azure Database Administrator Associate(DP-300) 無料問題 6 / 10 ・ 分野3: データベース リソースを監視、構成、最適化する
大きな行ストアのクラスター化インデックスを、ALTER INDEX … REBUILD WITH (ONLINE = ON, RESUMABLE = ON) で再構築し、途中で止めずに終えた。このインデックスの統計について、インデックスのメンテナンスの最適化のページの説明に合うものはどれか。
- 再開可能な再構築では全行を走査せず、統計は既定のサンプリング率(PERSIST_SAMPLE_PERCENT で残した率があればその率)で更新される
- 再構築で全行を読むので、UPDATE STATISTICS … WITH FULLSCAN と同じく、インデックスのすべての行を走査した統計に更新される
- 途中で一時停止しなかったので全行を走査した統計になり、一時停止したときだけ既定のサンプリング率で更新される
- インデックスを作り直すだけで統計には触れないので、統計は再構築の前のまま変わらない
正解と解説を見る
正解: A
正解の理由
ページは、行ストアのインデックスを作るか再構築すると、インデックスのすべての行を走査して統計を作るか更新し、これは FULLSCAN と同じだと書く。ただし例外として、パーティション分割したインデックスを作るか再構築するとき、作成や再構築の操作が再開可能のとき、作成や再構築の後に統計の自動・手動の更新が起きたときは、全行を走査しないと書く。これらの場合、統計は既定のサンプリング率か、PERSIST_SAMPLE_PERCENT を ON にした直近の UPDATE STATISTICS のサンプリング率で更新される。
違う選択肢
「再構築で全行を読むので、UPDATE STATISTICS … WITH FULLSCAN と同じく、インデックスのすべての行を走査した統計に更新される」… 全行の走査は再構築の一般の扱いだが、ページは操作が再開可能のときは全行を走査しないと書く。RESUMABLE = ON の再構築には当てはまらない。
「インデックスを作り直すだけで統計には触れないので、統計は再構築の前のまま変わらない」… ページは、行ストアのインデックスの再構築で統計が更新されると書く。変わらないのは再構成(REORGANIZE)のときである。
「途中で一時停止しなかったので全行を走査した統計になり、一時停止したときだけ既定のサンプリング率で更新される」… ページは、例外の条件を「操作が再開可能のとき」と書き、一時停止したかどうかでは分けていない。RESUMABLE = ON で再構築すれば、止めずに終えても全行は走査しない。
押さえどころ
再構築のあとに性能が良くなったのは、断片化が減ったからではなく、統計が新しくなったためであることが多い。統計の更新は再構築よりはるかに資源を使わず、数分で終わることが多いので、まず統計の更新で同じ効果が出るか試す。
Azure Database Administrator Associate(DP-300)の演習アプリ(無料10問・全問は解錠で)へ