PREPARATION
受験対策

Goldの例題解説「性能監視 - クエリ実行計画」

今回は、Goldの「性能監視 - クエリ実行計画」からの出題です。

例題

2.02

EXPLAINコマンドを用いて問い合わせを実行させ、結果が出力された。

EXPLAIN ANALYZE SELECT *

FROM table1 t1, table2 t2

WHERE t1.unique1 < 100 AND t1.unique2 = t2.unique2;

 

QUERY PLAN

 

-----------------------------------------------------------------------------------------------------------------------------------

 

Nested Loop (cost=0.00..352.17 rows=97 width=16) (actual time=0.033..1.875 rows=100 loops=1)

   -> Index Scan using table1_i1 on table1 t1 (cost=0.00..24.05 rows=97 width=8) (actual time=0.016..0.218 rows=100 loops=1)

         Index Cond: (unique1 < 100)

   -> Index Scan using table2_i2 on table2 t2 (cost=0.00..3.27 rows=1 width=8) (actual time=0.004..0.006 rows=1 loops=100)

         Index Cond: (t2.unique2 = t1.unique2)

Total runtime: 2.065 ms

この結果言えることとして、誤っているものを2つ選択せよ。


A. この問い合わせにより出力される行数は97行であった。

B. Total runtime には、結果行を操作するための時間の他に、エクゼキュータの起動、停止時間も含まれている。

C. table2_i2 という名前のインデックスを用いて検索をしている。

D. Nested Loop の cost と actual time の値が大きく異なっているので、統計情報の再収集が必要である。

E. table1 が外側、table2 が内側になるネステッドループで結合をしている。

※この例題は実際のOSS-DB技術者認定試験とは異なります。

解答と解説

問い合わせの先頭にEXPLAINを付加することにより、その問い合わせの実行計画を表示することができます。
また、この問題の例のようにANALYZEオプションを付与すると、実際にその問い合わせを実行し、実行時間を表示することができます。
「cost=...」の部分が計画生成時の推測値、「actual time=...」の部分が問い合わせ実行時の実測値です。
ANALYZEオプションを付与することで、「actual time」が表示されます。

以下、選択肢ごとに正誤を確認します。

A. costのカッコ内のrowsは、統計情報を元にした、推定行数です。
実際の行数は、actual timeのカッコ内のrowsになります。
従って、誤りです。

B. Total runtime には、結果行を操作するための時間の他に、エクゼキュータの起動、停止時間も含まれています。
従って、正しいです。

C. QUERY PLAN の中に、「Index Scan using table2_i2 on table2 t2」という表示があり、table2_i2 という名前のインデックスを用いて検索をしています。
従って、正しいです。

D. actual timeの単位はミリ秒ですが、costには単位はありません。
そのため、単純な数字の比較には意味がありません。
従って、誤りです。

E. ネステッドループによる結合は、上に書かれているほうが外側、下に書かれているほうが内側のループになります。
従って、正しいです。

 

正解は A と D です。

今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。

※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

企業の基幹システムや業務システムでの
OSS-DBの採用がますます拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定資格になります

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

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

サンプル問題/例題解説

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

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

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

無料技術解説セミナー

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

OSS-DB道場

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

LPI-Japan
Platinum Sponsors