16.20 - 結合インデックス - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-162K-JPN
Language
日本語 (日本)
join_index_name

最新のSQL作成テキストが報告される結合インデックスの名前。

結合インデックスがテンポラル テーブルに定義されている場合、SHOW JOIN INDEXによって返されるSQLテキストには、結合インデックスの作成時に組込みSELECTリクエストと関連付けられたテンポラル修飾子が含まれます。明示的に指定されたものであるか、デフォルトのセッション テンポラル修飾子から暗黙的に派生したものであるかは問いません。

結合インデックスがシステム定義である場合、SHOW JOIN INDEXによって返されるSQLテキストには、CREATEとJOINの語の間に予約キーワードではないSYSTEM_DEFINEDが表示されます。

このSQLテキストをCREATE JOIN INDEXリクエストとして実行依頼すると、SYTEM_DEFINEDが有効なSQLテキストではないので、Teradata Databaseは要求元にエラーを返します。

SHOW JOIN INDEX IN XMLリクエストは、結合インデックスの定義構成内容をすべて報告するわけではありません。そのため、それらについて報告されたXML形式の定義を基に、結合インデックスの定義を分解して再構築することはできません。

ただし、結合インデックス定義のXMLテキストには、次の有用な情報が含まれているために役立ちます。
  • 結合インデックス定義に含まれる列の名前とデータ型。
  • 結合インデックス定義で参照されるすべてのデータベース オブジェクトの一覧。

詳細は、<Teradata Vantage™ SQLデータ定義言語 - 詳細トピック、B035-1184>を参照してください。

列パーティション化された結合インデックスでは、SHOW JOIN INDEXによって返されるSQLテキストには、COLUMN句を指定したPARTITION BY句が含まれます。COLUMN句内にグループ化が含まれている場合、このグループ化はSELECT式リストには含まれません。

SHOW JOIN INDEXリクエストでTeradata Databaseが報告する内容のルールに関する例外の一覧については、このテーブルで後述するtable_nameを参照してください。これらのルールは、SHOW JOIN INDEXリクエストとSHOW TABLEリクエストにも同様に適用されます。

例: SHOW JOIN INDEX

この例では、結合インデックスord_cust_idxのSHOW JOIN INDEX文を示します。

     SHOW JOIN INDEX ord_cust_idx;
この文は、結合インデックスのDDLを報告します。
     CREATE JOIN INDEX YourDB.ord_cust_idx ,NO FALLBACK 
,CHECKSUM = DEFAULT, MAP = SmallTableMap COLOCATE USING YourDB_ord_cust_idx AS 
SELECT (YourDB.orders.o_custkey ,YourDB.customer.c_name )
,(YourDB.orders.o_status ,
YourDB.orders.o_date ,YourDB.orders.o_comment )
 FROM YourDB.orders ,YourDB.customer 
WHERE YourDB.orders.o_custkey =  YourDB.customer.c_custkey 
PRIMARY INDEX ( o_custkey )

例: XML形式のSHOW JOIN INDEX

この例では、次の文の出力の例を示します:

    SHOW IN XML JOIN INDEX ord_cust_idx;

SHOW IN XML JOIN INDEXで生成されるXML文書には、結合インデックスについて構文解析されたクエリーは含まれず、結合インデックスの列定義と、その定義で参照するデータベース オブジェクトのみが含まれます。そのため、このXML文書は、結合インデックスの再作成には使用できません。ただし、元の結合インデックスと同じ列定義を持つテーブルの作成に使用できます。文は次のレポートを返します。

    <?xml version="1.0" encoding="UTF-8" standalone="no" ?><TeradataDBObjectSet version="1.0" xmlns="http://schemas.teradata.com/dbobject" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.teradata.com/dbobject http://schemas.teradata.com/dbobject/DBObject.xsd"><JoinIndex checkSumLevel="Default" colocateName="YourDB_ord_cust_idx" dbName="YourDB" fallback="false" map="SmallTableMap" map_kind="sparse" name="ord_cust_idx" objId="0:3652" objVer="1">
<RepeatComlumnList><Column format="X(1)" name="o_status" nullable="true" order="1"><DataType><Char casespecific="true" charset="LATIN" length="1" uppercase="false" varying="false"/></DataType></Column>
<Column format="yyyy-mm-dd" name="o_date" nullable="true" order="2"><DataType><Date/></DataType></Column>
<Column format="X(79)" name="o_comment" nullable="true" order="3"><DataType><Char casespecific="true" charset="LATIN" length="79" uppercase="false" varying="true"/></DataType></Column></RepeatComlumnList>
<FixedColumn
List><Column format="-(10)9" name="o_custkey" nullable="true" order="1"><DataType><Integer/></DataType></Column><Column format="X(26)" name="c_name" nullable="false" order="2"><DataType><Char casespecific="true" charset="LATIN" length="26" uppercase="false" varying="false"/></DataType></Column></FixedColumnList>
<RefList><Ref dbName="YourDB" name="orders" type="Table"/><Ref dbName="YourDB" name="customer" type="Table"/></RefList>
<SQLText><![CDATA[CREATE JOIN INDEX YourDB.ord_cust_idx ,NO FALLBACK 
,CHECKSUM = DEFAULT, MAP = SmallTableMap COLOCATE USING YourDB_ord_cust_idx AS 
SELECT (YourDB.orders.o_custkey ,YourDB.customer.c_name )
,(YourDB.orders.o_status ,
YourDB.orders.o_date ,YourDB.orders.o_comment )
 FROM YourDB.orders ,YourDB.customer 
WHERE YourDB.orders.o_custkey =  YourDB.customer.c_custkey 
PRIMARY INDEX ( o_custkey )
INDEX ( o_custkey ,c_name )
INDEX ( o_status ,o_date ,o_comment );]]></SQLText></JoinIndex><Environment><Server dbRelease="16.10" dbVersion="16.10" hostName="localhost"/><User userId="00000704" userName="YourDB"/><Session charset="UTF8" dateTime="2017-03-24T16:54:56"/></Environment></TeradataDBObjectSet>