この文は、多方向結合結果で定義された結合インデックスを作成します。
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;