次の表では、transaction-timeテーブルに作成できる結合インデックスのタイプを示します。また、transaction-time列(または派生PERIODのtransaction-time列の構成要素列)をインデックスに射影する必要があるかどうかも示します。
修飾子 | 単一テーブルの結合インデックス | 複数テーブルの結合インデックス | 結合インデックスとSEQUENCED VT AJIでのtransaction-time列の必要性 |
---|---|---|---|
CURRENT TRANSACTIONTIME | 可能 | 可能 | はい/いいえ |
TRANSACTIONTIME AS OF | 不可 | 不可 | 適用なし |
SEQUENCED TRANSACTIONTIME | 不可 | 不可 | 適用なし |
NONSEQUENCED TRANSACTIONTIME | 可能 | 可能 | いいえ/いいえ |
文にtransaction-time修飾子を明示的に指定していないときには、システムはセッションのtransaction-time修飾子を使用します。
current結合インデックスが作成されると、結合定義には次に示す条件が追加されます。END(<TransactionTimeColumn>) IS UNTIL_CLOSED
transaction-timeテーブルのcurrent結合インデックスに外部結合が含まれていて、結果的に派生テーブルになる場合には、Teradata Databaseからエラーが返されます。
Teradata Databaseでは、実テーブルのすべてのDML文に対して、transaction-time次元のいずれのcurrent結合インデックスも保守します。
nonsequenced結合インデックスにはtransaction-time列を射影する必要はありませんが、この列を射影することでインデックスの実用性が向上します。