例: 単純な結合インデックスをnウェイ結合結果とともに定義して使用 - Teradata Database - Teradata Vantage NewSQL Engine - 例: 単一結合インデックスをnウェイ結合結果とともに定義して使用、CREATE JOIN INDEX SQL文。

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/wkf1512081455740.ditamap
dita:ditavalPath
ja-JP/wkf1512081455740.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

この文は、多方向結合結果で定義された結合インデックスを作成します。

    CREATE JOIN INDEX cust_order_join_line AS
    SELECT (l_orderkey, o_orderdate, c_nationkey, o_totalprice),
           (l_partkey, l_quantity, l_extendedprice, l_shipdate)
    FROM (lineitem 
    LEFT JOIN orders ON l_orderkey = o_orderkey)
    INNER JOIN customer ON o_custkey = c_custkey
    PRIMARY INDEX (l_orderkey);

次の問合わせは、最適化ルーチンが結合インデックスを使用して、定義されている基本テーブルについて問合わせを処理する方法を示す例として提供されています。SELECT文のEXPLAINには、条件("cust_order_join_line.c_nationkey = 10")の全行スキャンによる結合インデックス テーブルcust_order_join_lineからのRETRIEVEステップが含まれています。

    SELECT l_orderkey, o_orderdate, o_totalprice,
         l_partkey, l_quantity, l_extendedprice, l_shipdate
    FROM lineitem, orders, customer
    WHERE l_orderkey = o_orderkey 
    AND o_custkey = c_custkey 
    AND c_nationkey = 10;