17.10 - 行パーティション テーブルにおける新しい範囲またはパーティションの削除または追加 - 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
日本語 (日本)
テーブル パーティションとパーティション範囲を変更する操作は、実働ワークロードに影響が及ばないようにスケジュールします。行パーティション テーブルで新しい範囲またはパーティションの削除や追加を行なう場合は、次のパフォーマンスに関する考慮事項を参照してください。
  • データが入っているテーブルで範囲またはパーティションを削除または新しく追加する場合、保持された範囲やパーティションの行は処理されないため、操作を非常に速く行なえます。
  • 削除された範囲およびパーティションにデータが入れられている場合、小規模なオーバーヘッドが生じます。また、何らかの参照保全制約がそのテーブルに定義されている場合は、さらにオーバーヘッドが生じます。
  • 追加された範囲に移動する必要のある、削除された範囲のNO RANGEまたはUNKNOWNパーティションまたは行が入った新しい範囲が追加された場合、追加のオーバーヘッドが生じます。
  • テーブルでは、セカンダリ インデックス、結合インデックス、ハッシュ インデックスを更新する必要があります。

    副次、結合、およびハッシュ インデックスの更新の操作は時間がかかる場合があります。テーブルおよびインデックスのサイズや、削除または移動される行数などのいくつかの要因に依存する場合もあります。

  • 削除される行を保存テーブルに挿入する場合、さらにオーバーヘッドが生じます。このオーバーヘッドの量は、保存テーブルに挿入しなければならない行数と、テーブルへの行の挿入に関する他の標準的なパフォーマンス上の問題によって決まります。
  • テーブルがNO RANGEパーティションで定義されている場合、ALTER TABLE文でWITH DELETE句やWITH INSERT INTO句を指定しても効果はありません。

    削除されたパーティションの行、およびパーティション番号が1~65,535の値(2バイト パーティション化の場合)または1~9,223,372,036,854,775,805(8バイト パーティション化の場合)以外の値になる行は、WITH DELETE句またはWITH INSERT INTO句で指定されたターゲット テーブルに移動されずに、NO RANGEパーティション内に保持されます。

    詳細については、NO RANGEおよびUNKNOWNパーティションの目的と動作およびテーブルのパーティション変更に関するルールを参照してください。