追加のテーブルを持つ結合インデックスがクエリーをカバーできるかどうかに関するルール - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

以下のルールは、アクセス計画のインデックスがクエリー参照よりも多くのテーブルを内部結合する場合に最適化ルーチンがそのインデックスを選択するように、結合インデックス定義の基礎となる実テーブルのセットを設計する方法について説明しています。このような結合インデックスをブロード結合インデックスといいます。ブロード結合インデックスの詳細については、結合インデックス定義がクエリーよりも多くのテーブルを参照する際の、結合インデックスによるカバーの制限、<Teradata Vantage™ - データベースの設計、B035-1094>、および<Teradata Vantage™- SQLリクエストおよびトランザクション処理、B035-1142>を参照してください。

クエリーで参照するテーブルの数よりも多くの内部結合テーブルが結合インデックス定義に存在する場合の条件 最適化ルーチン
基礎となる実テーブルで外部キー列とプライマリ キー列の間に追加の結合が作成ない場合 その結合インデックスをクエリー計画に使用することを検討ない

定義内に追加の結合が存在すると、既存の行がクエリー評価から除外されるか、または最適化の際に重複行が生成されるからです。

基礎となる実テーブルで外部キー列とプライマリ キー列の間に追加の結合が作成される場合 その結合インデックスをクエリー計画に使用することを検討します。
以下の条件の両方に適合する場合
  • 追加の外部結合に含まれる内部テーブルの結合列セットが固有である
  • 追加の外部結合に含まれる内部テーブルまたは内部テーブルと外部テーブルの両方のいずれかが、追加のテーブルである