列パーティション テーブル内のパーティション形式のルール - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage
  • 列パーティションをCOLUMN形式で指定した場合、Teradata Databaseは1つの物理コンテナに1つ以上の列パーティション値を格納します。

    列パーティション値は、列パーティションに含まれる列の値で構成されます。

  • 以下のルールが、列パーティション レベルの自動圧縮に適用されます。
    自動圧縮オプションまたはデフォルトの列パーティション レベル パーティションの上書き設定
    COLUMN AUTO COMPRESS NO AUTO COMPRESS
    COLUMN NO AUTO COMPRESS AUTO COMPRESS
  • 列パーティション レベルにCOLUMNを指定する場合、AUTO COMPRESSまたはNO AUTO COMPRESSも指定されていないと、Teradata Databaseはそのパーティション レベルにAUTO COMPRESSを割り当てます。
  • 列パーティションをROW形式で指定した場合、Teradata Databaseは1つの物理的な副行に1つだけの列パーティション値を格納します。

    副行はTeradataの行形式の標準ですが、副行という用語はそれが列パーティションの一部であることを強調するために使用します。

  • COLUMN形式の列リストで列または制約グループ、あるいはその両方を指定する場合、グループ化によって列パーティションが定義されます。Teradata Databaseは、COLUMN形式を使用して1つの物理コンテナに1つ以上の列パーティション値を格納します。

    ROW形式の列リストで列または制約グループ、あるいはその両方を指定する場合、グループ化によって列パーティションが定義され、ROW形式を使用して物理的な副行に1つだけの列パーティション値が格納されます。

    列または制約グループに対してCOLUMN形式とROW形式のどちらも指定しない場合、グループ化によって列パーティションが定義され、列パーティションに対してCOLUMN形式とROW形式のどちらを使用するかをTeradata Databaseが決めます。

  • パーティションに対して明示的にCOLUMN形式またはROW形式を指定しない場合は、Teradata Databaseが暗黙的に決定します。

    COLUMN形式またはROWフ形式をシステムが決定する場合、Teradata Databaseは、列パーティションの列パーティション値のサイズや他の要素(列パーティションの列パーティション値が固定長か可変長か、列パーティションが単一列パーティションか複数列パーティションかなど)に基づいて形式を選択します。

    一般に、Teradata Databaseは、幅の狭い列パーティションにはCOLUMN形式、幅の広い列パーティションにはROW形式を割り当てます。この文脈で、サイズがおよそ256バイト未満の場合に、列パーティションは幅が狭いと見なされます。

    列パーティションに含まれる可変長の列の幅は、次の数式によって推計されます。



    列パーティションに対してどちらの形式をTeradata Databaseが選択したかを調べるには、HELP COLUMN文を実行するか、DBC.ColumnsV(X)ビューからColumnPartitionFormat列を選択します。