次の表では、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の値を使用する。 |
テーブル ヘッダー内のパーティション情報を更新する。 | テーブル ヘッダー内のパーティション情報を更新する。 |
指定されたテーブルまたは結合インデックスの行を調整する際、Teradata Databaseが、調整後もパーティション内のすべての行がそのパーティション内に保持されていると判断できる場合は、どのパーティションもスキップされる。 これは、ALTER TABLE TO CURRENTリクエストを実行する前に、テーブルまたは結合インデックスの行が正しくパーティション化されていることを前提としている。 |
指定されたテーブルの行を調整するときに、nullパーティション ハンドラーを指定した場合、Teradata Databaseはすべてのパーティションをスキャンする。 これは、現在のALTER TABLE … REVALIDATE PRIMARY INDEXリクエストを実行する前に、テーブルの行が正しくパーティション化されていない可能性があると想定している。 結合インデックスに対してこのオプションを指定することはできない。 |
指定されたテーブルまたは結合インデックスのすべての行を再調整する。
|
リクエストがnullパーティション ハンドラーを指定している場合に、指定されたテーブルまたは結合インデックスの行のみを調整する。 テーブルの場合にWITH INSERT NULLパーティション ハンドラーを指定すると、Teradata Databaseは、調整できないすべての行を削除する。リクエストでWITH INSERT INTO save_table NULLパーティション ハンドラを指定する場合は、それらの行を保存テーブルに保存した後で削除する。 結合インデックスに対してこのオプションを指定することはできない。 |