二重テンポラル テーブルの行パーティション化 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - テンポラル テーブル サポート

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/bud1592002688266.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1182
Product Category
Software
Teradata Vantage

次に示す表では、二重テンポラル テーブルに推奨されるパーティション式について説明しています。この式のvtcolumnはvalid-time列を表わし、ttcolumnはtransaction-time列を表わします。

valid-time列のデータ型 推奨されるパーティション式
PERIOD(DATE) NOT NULL
PARTITION BY CASE_N(
 END(vtcolumn) >= CURRENT_DATE AT '-12:59'
  AND END(ttcolumn) >= CURRENT_TIMESTAMP,
 END(vtcolumn) < CURRENT_DATE AT '-12:59'
  AND END(ttcolumn) >= CURRENT_TIMESTAMP,
 END(ttcolumn) < CURRENT_TIMESTAMP)

(AT '-12:59'はAT INTERVAL -'12:59' HOUR TO MINUTEの省略形)

(END(ttcolumn) < CURRENT_TIMESTAMP式は、クローズ行を表わすもので、より最適なパーティション排除を実現するために、NO CASEの代わりに使用します)

PERIOD(DATE)
PARTITION BY CASE_N(
 (END(vtcolumn) IS NULL OR
  END(vtcolumn) >= CURRENT_DATE AT '-12:59')
  AND END(ttcolumn) >= CURRENT_TIMESTAMP,
 END(vtcolumn) < CURRENT_DATE AT '-12:59'
  AND END(ttcolumn) >= CURRENT_TIMESTAMP,
 END(ttcolumn) < CURRENT_TIMESTAMP)

(AT '-12:59'はAT INTERVAL -'12:59' HOUR TO MINUTEの省略形)

PERIOD(TIMESTAMP[(n)] [WITH TIME ZONE]) NOT NULL
PARTITION BY CASE_N(
 END(vtcolumn) >= CURRENT_TIMESTAMP AND
 END(ttcolumn) >= CURRENT_TIMESTAMP,
 END(vtcolumn) < CURRENT_TIMESTAMP AND
 END(ttcolumn) >= CURRENT_TIMESTAMP,
 END(ttcolumn) < CURRENT_TIMESTAMP)
PERIOD(TIMESTAMP[(n)] [WITH TIME ZONE])
PARTITION BY CASE_N(
(END(vtcolumn) IS NULL OR END(vtcolumn) >= CURRENT_TIMESTAMP) AND END(ttcolumn) >= CURRENT_TIMESTAMP,
END(vtcolumn) < CURRENT_TIMESTAMP AND END(ttcolumn) >= CURRENT_TIMESTAMP,
END(ttcolumn) < CURRENT_TIMESTAMP)

二重テンポラル テーブルに推奨される行によるパーティション化を使用すると、そのパーティションは次に示すようになります。

  • 現在パーティションには、パーティション式のCURRENT_TIMESTAMP値が最後に解決された時点で、オープン行である(または、オープン行であった)行と、有効行である(または、有効行であった)行が保持されます。
  • valid-time履歴/transaction-timeオープン パーティションには、パーティション式のCURRENT_DATE値またはCURRENT_TIMESTAMP値が最後に解決された時点で、非有効になった(または、非有効だった)行のうちオープン行である行が保持されます。
  • transaction-time履歴パーティションには、パーティション式のCURRENT_DATE値またはCURRENT_TIMESTAMP値が最後に解決された時点で、クローズされていた行が保持されます。