例: スパース マップによる結合インデックスの作成 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/ncd1596241368722.ditamap
dita:ditavalPath
ja-JP/ncd1596241368722.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

この例では、次のcustomerテーブルとorderテーブルを使用します。

CREATE TABLE customer (
c_custkey INTEGER,
c_name CHARACTER(26) not null,
c_address VARCHAR(41),
c_nationkey INTEGER,
c_phone CHARACTER(16),
c_acctbal DECIMAL(13,2),
c_mktsegment CHARACTER(21),
c_comment VARCHAR(127))
PRIMARY INDEX( c_custkey );
CREATE TABLE orders (
o_orderkey INTEGER,
o_date DATE FORMAT 'yyyy-mm-dd',
o_status CHARACTER(1),
o_custkey INTEGER,
o_totalprice DECIMAL(13,2),
o_orderpriority CHARACTER(21),
o_clerk CHARACTER(16),
o_shippriority INTEGER,
o_comment VARCHAR(79))
UNIQUE PRIMARY INDEX(o_orderkey);

この文は、スパース マップを使用して行圧縮された結合インデックスを作成します。

CREATE JOIN INDEX ord_cust_idx, MAP=SmallTableMap AS
SELECT (o_custkey, c_name), (o_status, o_date, o_comment)
FROM orders, customer
WHERE o_custkey = c_custkey;