問合わせのタイプ別に、結合計画と実行時間の見積もりの2つのサマリー、つまりスター結合の最適化を活用した場合と活用しない場合について説明します。
EXPLAINの出力と整合させるために、結合の入力テーブルが直前の結合の結果である場合には、直前の結合を実行するのにかかるコストの中に、結合用の入力テーブルを作成するのにかかるコストも含まれています。そうでない場合には、結合を実行するのにかかるコストの中に、入力テーブルの作成にかかるコストが含まれています。
各問合わせにかかるコストの見積もり合計は、EXPLAIN出力から直接得られます。これは、並列ステップが前提になっています。
それぞれのコストは、相対的なものであり、構成でのAMPの数によって異なります。ここでは、2つのAMPから成るシステムでのコストの例を示しています。
それぞれの例には、性能向上の比率の概算が示されています。これらの比率は、同一の条件下で同じ結合例を実行したときに算出される値です。
他の問合わせを実行した場合には、結合の条件やテーブルの統計情報に応じて、性能が向上したり低下したりしますが、一般的な傾向としては、一貫して同じ方向性を示します。
この例では、次のテーブルの定義を使用します。
ディメンション テーブル(小さなテーブル)の定義 | ||
---|---|---|
テーブル名 | 列 | プライマリ インデックス |
color | code、description | 説明 |
size | code、description | 説明 |
options | code、description | 説明 |
ファクト テーブル(大さなテーブル)の定義 | ||
---|---|---|
テーブル名 | 列 | カーディナリティ |
widgets | color、size、options、units、period | 1,000,000行 |