「S2 運用管理 - S2.5 基本的な運用管理作業(VACUUM、ANALYZEの目的と使い方)」からの出題です。
ANALYZEは対象テーブルの全データを検証するので非常に負荷が高い。夜間などデータベースアクティビティが少ない時間帯に実行するのが望ましい。
VACUUMコマンドを実行すると、同じテーブルについてANALYZEも自動的に実行される。
自動バキュームを実行すると、VACUUMだけでなく、ANALYZEも自動的に実行される。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2022年8月10日
SELECTなどSQLを実行するときの性能向上を図るためにインデックスが作成されますが、インデックスがあっても全件走査を実行する方が高速な場合もありますし、複数あるインデックスのうちどれを使えば高速になるのか単純には決定できない場合もあります。
SQLの実行速度に最も大きな影響を与えるのはディスクアクセスです。複数考えられる実行計画のそれぞれで、どれくらいのディスクアクセスが必要になりそうかを予想するため、各テーブルのデータ件数、テーブル内の列ごとのデータの散らばり具合などを参照します。
このテーブルの状態に関する情報を取得するのがANALYZEです。すべてのテーブルについて一度はANALYZEを実行し、またデータ件数やデータの散らばり具合に大きく影響するような更新があったときは、その度にANALYZEを実行することが望ましいです。
ANALYZEはテーブルのごく一部のデータをサンプリングして統計情報を計算するので、短時間で処理が終わります。 psqlのコマンドラインなどからテーブル名を指定してANALYZEを実行する場合、テーブルの所有者、スーパーユーザーなどがANALYZEを実行することができます。
VACUUMコマンドの実行時にANALYZEをオプションとして指定すると、VACUUMとANALYZEが同時に実行されますが、オプション指定しなければVACUUMのみが実行されます。
自動バキュームは変更量が一定以上に達したテーブルについて自動的にVACUUMを実行する機能ですが、このときは同時にANALYZEも実行されます。
従って正解はA、B、Eです。
例題解説についてのご質問やご意見は以下からご連絡ください。
※本例題および解説は、例題作成者から提供されたものです。実際の試験問題とは異なります。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。
© EDUCO All Rights Reserved.