PREPARATION
受験対策

Silverの例題解説
「S2.5 基本的な運用管理作業(VACUUM、ANALYZEの目的と使い方)」

「S2 運用管理 - S2.5 基本的な運用管理作業(VACUUM、ANALYZEの目的と使い方)」からの出題です。

例題

2.128

ANALYZEについてもっとも適切な説明を3つ選びなさい。

  1. ユーザは、自身が所有するテーブルに対してANALYZEを実行することができる。
  2. ANALYZEを実行することは、SELECTなどのSQLを実行するときの性能(速度)を最適化するために重要である。
  3. ANALYZEは対象テーブルの全データを検証するので非常に負荷が高い。夜間などデータベースアクティビティが少ない時間帯に実行するのが望ましい。

  4. VACUUMコマンドを実行すると、同じテーブルについてANALYZEも自動的に実行される。

  5. 自動バキュームを実行すると、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です。

例題解説についてのご質問やご意見は以下からご連絡ください。

※本例題および解説は、例題作成者から提供されたものです。実際の試験問題とは異なります。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。

企業の基幹システムや業務システム、AIなどの
新領域での「PostgreSQL」の採用が拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。