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
日本語 (日本)
  • 行パーティションの最大パーティション数は、そのレベルのパーティションの最大数と同じです。
  • 列パーティション レベルの最大パーティション数は、そのレベルの列パーティションの最大数に1を加算した数です。

    このため、列パーティションを変更する時に利用可能な未使用の列パーティション番号が、常時、少なくとも1つ確保されます。

  • あるパーティション レベルの最大パーティション数として、そのレベルで定義されているパーティション数より大きい数を指定しておくと、そのレベルで定義するパーティション数をALTER TABLE文を使用して増やすことができます。
    これは、1つのレベルの最大パーティション数を増やせるという意味ではありません
  • 行パーティション レベルのパーティションの最大数は、少なくとも2にする必要があります。

    エラーが発生するのは、行パーティション レベルで1つのパーティションだけが定義されている状態でADD 0を指定するか、ADDオプションを指定しないために、最大数が2以上に増えない場合です。

  • 1つのテーブルの組み合わせパーティション数は、各パーティション レベルで定義されたパーティション数の積です。
  • 1つのテーブルの組み合わせパーティションの最大数は、各パーティション レベルに定義されたパーティションの最大数の積です。

    単一レベル パーティションでは、組み合わせパーティションの最大数は、そのパーティション レベルの最大パーティション数と同じです。

    テーブルに列パーティションが定義されている場合、組み合わせパーティションの最大数は、組み合わせパーティションの最大数より小さくなります。それ以外の場合は、同じです。

  • 1つのテーブルの組み合わせパーティションの最大数は、各パーティション レベルに定義されたパーティションの最大数の積(最大9,223,372,036, 854,775,807)です。

    単一レベル パーティションでは、組み合わせパーティションの最大数は、このパーティション レベルの最大パーティション数です。

  • 1つのテーブルの組み合わせパーティションの最大数が65,535より大きい場合、Vantageはパーティション番号を行ヘッダーの8バイトのフィールドに格納します。これを、8バイト パーティションと呼びます。

    1つのテーブルの組み合わせパーティションの最大数が65,535以下の場合、Vantageはパーティションを行ヘッダーの2バイトのフィールドに格納します。これを、2バイト パーティションと呼びます。

    ADDオプションなしの単一レベル列 パーティションは、行ヘッダーの2バイト フィールドに格納されます。

  • 2バイト パーティションの場合、最初のレベルのパーティションの最大数は、組み合わせパーティションの最大数が65,535を超えない範囲での最大数になります。他のレベルがある場合には、これが2番目のレベルから最後のレベルまで各レベルについて反復されます。
  • 2バイト パーティションの場合、パーティション レベルの最大数は15です。
  • 8バイト パーティションの場合、最初のレベルのパーティションの最大数は、組み合わせパーティションの最大数が9,223,372,036,854,775,807を超えない範囲での最大数になります。他のレベルがある場合には、これが2番目のレベルから最後のレベルまで各レベルについて反復されます。
  • 8バイト パーティションの場合、パーティション レベルの最大数は62です。

    1つ以上のレベルで最大列パーティション数が2より大きい場合、パーティション レベルの数はさらに制限を受けます。各レベルでの最大組み合わせパーティション数の積が9,223,372,036,854,775,807を超えてはならないというルールによる制限があるからです。