結合インデックスの定義はEXTRACT関数をサポートしています。
以下の例では、集約結合インデックスの定義の中でEXTRACT関数を使用する方法を説明します。
CREATE JOIN INDEX ord_cust_idx_2 AS SELECT c_nationkey, SUM(o_totalprice(FLOAT)) AS price, EXTRACT(YEAR FROM o_orderdate) AS o_year FROM orders, customer WHERE o_custkey = c_custkey GROUP BY c_nationkey, o_year ORDER BY o_year;
この集約はo_orderdateの年だけを基盤としており、これはo_orderdate全体と比較して少数のグループです。このため、ord_cust_idx_2はord_cust_idxより大幅に小さくなります。
他方、ord_cust_idx_2の使用はord_custidxに比べて制限されています。特に、ord_cust_idx_2は、全年数の注文を選択する問合わせを満たすためのみに使用できます。
例えば、ord_cust_idx_2は例: 集約結合インデックスの作成および使用で分析される問合わせには使用できません。しかし、以下の問合わせの場合はord_cust_idx_2の使用にメリットがあります。
SELECT COUNT(*), SUM(o_totalprice) FROM orders, customer WHERE o_custkey = c_custkey AND o_orderdate > DATE '1998-01-01' AND o_orderdate < DATE '1998-12-31' GROUP BY c_nationkey;