17.00 - 17.05 - 大さなテーブル/小さなテーブルの結合 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLリクエストおよびトランザクション処理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
ユーザー ガイド
Publication ID
B035-1142-170K-JPN
Language
日本語 (日本)

大さなテーブル/小さなテーブルの結合の定義

大きなテーブル/小さなテーブルの結合(LT/ST)の結合は、3つ以上の小さなテーブル(またはリレーション)を結合し、その結果を1つの大きいテーブルに結合します。これは、次元モデリング スキーマで、大きなファクト テーブルと、より小さなディメンション テーブルとの間で一般的に行なわれる結合のタイプです。場合によっては、これをさらに最適化し、小さいテーブル(またはリレーション)を大きいテーブルにワンステップで結合する、n方向結合を行なうこともできます。

最適化ルーチンにより使用されるLT/STアルゴリズムは、以下に概説するタスクを実行します。
  • 結合されるテーブル内で大きな関係を検索する
  • 各インデックスへの接続を分析する
  • 非インデックス ケースを分析する

大さなテーブル/小さなテーブルの結合について

大さなテーブル/小さなテーブル結合を最適化するには、以下について統計を収集することが重要です。
  • すべてのインデックス
  • 小さなテーブルのプライマリ[AMP]インデックス
  • 選択される列(特に結合が高度に選択的な場合)
  • 結合列(特に大さなテーブルへの結合が低度に選択的である場合)
LT/ST結合およびインデックスについて、以下の点を考慮する必要があります。
  • インデックスは、結合性能の重要な要因である。
  • インデックスの選択を考慮する。
  • 大さなテーブルでの共通結合列セット上にあるインデックスを考慮する。

大さなテーブル(ファクト テーブル)のプライマリ インデックスが小さなテーブル(ディメンション テーブル)の構成要素の複合物の場合(ファクト テーブルのプライマリ インデックスが、関連するディメンション テーブルのプライマリ インデックスの複合物である次元モデリングでは一般的)、最適化ルーチンは、小さなテーブルに対して積結合を使用します。大さなテーブルのプライマリ インデックスにより、最適化ルーチンはマージ結合を適用でき、大さなテーブル全体を読み取ることがなくなります。これにより、システム リソースの使用効率が高まります。

例えば、1週間における5つの店舗での5つの製品の売上げを調べる場合を考えます。これには、storesテーブル、week_ending_dateテーブル、およびproduct_listdaily_salesテーブルの結合が必要です。次の図は、この結合を示したものです。


3つのテーブルを4番目のテーブルに結合します

storesテーブル、week_ending_dateテーブル、およびproduct_listテーブルの選択部分が、プロダクト ジョインされます。結果として、daily_salesテーブルのプライマリ インデックスが作成されます。結合された小テーブルは、大さなテーブルと結合されて、応答セットが返されます。この計画では、使用されるシステム リソースがかなり少なくなり、必要な処理時間が短縮されています。