今回は、Goldの「パフォーマンスチューニング - チューニングの実施」からの出題です。
FILLFACTORの指定が省略された場合、デフォルト値として対象テーブルのFILLFACTORと同じ値が設定される
UNLOGGEDパラメータが指定された場合、インデックスの更新時にWALログが取られなくなり、更新処理が高速化する
PARALLELパラメータが指定された場合、複数のプロセスによりインデックスが作成され、作成時間が短縮する
CONCURRENTLYパラメータが指定された場合、対象テーブルに対する書き込みをロックせずにインデックスを作成するが、通常の方式より作成時間が長くなる
インデックスの定義で使用される関数と演算子は、immutableでなければならない
※この例題は実際のOSS-DB技術者認定試験とは異なります。
【Aついて】
インデックス作成時にFILLFACTORの指定が省略された場合のデフォルト値は90であり、対象のテーブルの値が引き継がれるわけではありません。
よって、Aは適切な内容ではありません。
また、テーブル作成時にFILLFACTORの指定が省略された場合のデフォルト値は100です。
【Bについて】
UNLOGGEDパラメータはテーブルの作成時に指定可能であり、インデックスの作成時には指定できません。
よって、Bは適切な内容ではありません。
UNLOGGEDパラメータが指定されて作成されたテーブルに対して作成されたインデックスは、同様に更新時にWALログが取られなくなります。
【Cについて】
PARALLELパラメータは存在せず、複数プロセスで1つのインデックスを作成することはできません。
よって、Cは適切な内容ではありません。
【D,Eについて】
いずれも適切な内容です。
それぞれ詳細は以下の公式ドキュメントをご参照ください。
https://www.postgresql.jp/document/10/html/sql-createindex.html
正解は D と E です。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.