17.10 - ALTER TABLE TO CURRENTおよびALTER TABLE … REVALIDATEの比較 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

次の表では、ALTER TABLE TO CURRENTおよびALTER TABLE … REVALIDATEを比較します。REVALIDATEオプションに関する一般的なルールと制約事項を参照してください。

ALTER TABLE TO CURRENT ALTER TABLE ... REVALIDATE
定期的にパーティションを変更する
  • メジャー リリースへのアップグレード後に、テーブル ヘッダーのパーティション情報を更新する。
  • アーカイブが作成されたものと異なるシステム アーキテクチャへ復元した後で、不適切にパーティション化された行を修正する。
  • システムの問題によって不適切にパーティション化された行を修正する。
DATE、CURRENT_DATE、およびCURRENT_TIMESTAMPを解釈して、それぞれの現行値にする。 一番最後に解釈されたDATE、CURRENT_DATE、およびCURRENT_TIMESTAMPの値を使用する。
テーブル ヘッダー内のパーティション情報を更新する。 テーブル ヘッダー内のパーティション情報を更新する。
指定されたテーブルまたは結合インデックスの行を調整する際、Vantageが、調整後もパーティション内のすべての行がそのパーティション内に保持されていると判断できる場合は、どのパーティションもスキップされる。

これは、ALTER TABLE TO CURRENTリクエストを実行する前に、テーブルまたは結合インデックスの行が正しくパーティション化されていることを前提としている。

指定されたテーブルの行を調整するときに、nullパーティション ハンドラーを指定した場合、Vantageはすべてのパーティションをスキャンする。

これは、現在のALTER TABLE … REVALIDATE PRIMARY INDEXリクエストを実行する前に、テーブルの行が正しくパーティション化されていない可能性があると想定している。

結合インデックスに対してこのオプションを指定することはできない。

指定されたテーブルまたは結合インデックスのすべての行を再調整する。
  • リクエストでNULLパーティション ハンドラーを指定すると、Vantageは、調整できないすべてのすべての行を削除する。WITH INSERT INTO save_table NULLパーティション ハンドラーの場合は、それらの行を保存テーブルに保存した後で削除する。

    結合インデックスの行はALTER TABLE TO CURRENTリクエストを使用して削除できないため、結合インデックスに対してこのオプションは指定できない。

  • リクエストでnullパーティション ハンドラーを指定しない場合、システムは、既存の行を調整できなければリクエストをアボートする。
リクエストがnullパーティション ハンドラーを指定している場合に、指定されたテーブルまたは結合インデックスの行のみを調整する。

テーブルの場合にWITH INSERT NULLパーティション ハンドラーを指定すると、Vantageは、調整できないすべての行を削除する。リクエストでWITH INSERT INTO save_table NULLパーティション ハンドラを指定する場合は、それらの行を保存テーブルに保存した後で削除する。

結合インデックスに対してこのオプションを指定することはできない。