以下の例は、UDT列を使用して結合インデックスのプライマリ インデックスおよびセカンダリ インデックスを作成する方法を示します。
最初に、サンプルの列に使用するUDTを定義します。
tbl_integerタイプはINTEGERデータ型に基づくDISTINCT型UDTです。
CREATE TYPE tbl_integer AS INTEGER FINAL;
tbl_char50タイプもDISTINCT型UDTで、CHARACTERデータ型に基づきます。
CREATE TYPE tbl_char50 AS CHARACTER(50) FINAL;
次に、以下のテーブルを作成します。
CREATE TABLE t1_jupi ( id tbl_integer, emp_name tbl_char50) UNIQUE PRIMARY INDEX(id); CREATE TABLE t1_jusi ( emp_name tbl_char50, id tbl_integer) UNIQUE INDEX(id);
最初の例は、UDT列に定義されたNUPIとNUSIの両方を使用して、非圧縮結合インデックスを作成します。
CREATE JOIN INDEX t1_jindx AS SELECT t1_jupi.id AS id_1, t1_jupi.emp_name AS name_1, t1_jusi.id AS id_2, t1_jusi.emp_name AS name_2 FROM t1_jupi, t1_jusi WHERE t1_jupi.id = t1_jusi.id PRIMARY INDEX (id_1), INDEX (id_2);
2番目の例は、UDT列に定義されたNUPIとNUSIの両方を使用して、行圧縮結合インデックスを作成します。この例では、反復列セットはt1_jusi.idとt1_jusi.emp_nameで、固定列セットはt1_jupi.idとt1_jupi.emp_nameです。
CREATE JOIN INDEX t3_jindx AS SELECT (t1_jusi.id AS id_2, t1_jusi.emp_name AS name_2) (t1_jupi.id AS id_1, t1_jupi.emp_name AS name_1), FROM t1_jusi, t1_jupi WHERE t1_jusi.id = t1_jupi.id PRIMARY INDEX(id_1), INDEX(id_2);
3番目の例は、UDT列に定義されたUPIを使用して結合インデックスを作成します。
CREATE JOIN INDEX t1_upi_jindx AS SELECT t1_jupi.id AS id_1, t1_jupi.emp_name AS name_1 FROM t1_jupi UNIQUE PRIMARY INDEX (name_1);