17.10 - FORCE - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データベース ユーティリティ

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
構成
Publication ID
B035-1102-171K-JPN
Language
日本語 (日本)

表または行の範囲が占有するシリンダを特定のデータ温度に設定します。そのデータの過去のアクセス頻度とは関係なく設定されます。

FORCEコマンドはTeradataサポート センター担当者の指導のもとでのみ使用します。

このコマンドは、ターゲットのテーブルおよびその他のテーブルの両方に対して短期的および長期的なパフォーマンスに影響を及ぼします。特定の温度を強制すると、FORCEコマンドで明示的に参照されなかったテーブルのパフォーマンスに影響を及ぼします。

構文

FORCE tid [ rowspec [ TO rowspec ] ]
  TEMPERATURE = { HOT | WARM | COLD | VERYHOT }

構文要素

tid
シリンダの温度が設定されるサブテーブルを識別します。
tidは、テーブルの固有識別子と、そのテーブルの1つのサブテーブル構成要素(基本データ サブテーブルなど)の識別子によって構成されます。テーブルは、次の2つの方法のいずれかで一意に識別できます。
  • テーブルが属するデータベースの名前とテーブル名をピリオドで区切って指定します。名前は個別に、またはまとめて区切る必要があります。以下は有効な形式です。
    • "database_name.table_name"
    • "database_name"."table_name"
    • 'database_name.table_name'
    • 'database_name'.'table_name'
  • テーブルの固有の数値の識別子を指定します。これは、スペースで区切られた2つの数値で構成されます。テーブルの固有識別子は、TABLEIDコマンドにより返される最初の2つの数値です。この2つの数値は、テーブルを構成するすべてのサブテーブルに共通です。
    入力番号の形式は基数の現在の設定によって異なり、この設定はRADIXコマンドで表示されます。
tidの2番目の部分は、サブテーブルを識別し、type_and_indexと呼ばれます。この値は、<Teradata Vantage™ - データベース ユーティリティ、B035-1102>のFerretユーティリティのドキュメントで説明されているようないくつかの方法で表わすことが可能です。基本データ サブテーブルの場合、type_and_indexの数値は10進数1024または16進数400となります。0を指定すると、FORCEコマンドがテーブルのすべてのサブテーブルに適用されます。
rowspec  [TO rowspec]
  • パーティション化されていないNoPIテーブルにおいて、データ温度を設定する行または行の範囲です。
  • パーティション化されているテーブルの場合、データ温度が設定されるパーティションを識別する(または、論理的に連続したパーティションの範囲を識別する)"組み合わせパーティション番号"です。

    組み合わせパーティション番号は、列パーティションや、マルチレベルのパーティション化されたテーブルにおけるパーティション レベルを考慮して算出された値です。表のすべてのパーティションを固有に識別します。

    シングルレベルのパーティションで列パーティションのないテーブルの場合、行の組み合わせパーティション番号は、システムで派生した、その行のPARTITION列の値です。

    その他の型のテーブルで組み合わせパーティション番号を算出するための詳細については、<Teradata Vantage™ - データベースの設計、B035-1094>を参照してください。

VERYHOT
HOT
WARM
COLD
データのこれまでのアクセス頻度とは関係なく、指定されたテーブルまたは行の行データを格納するシリンダに設定されたデータ温度。
  • VERYHOTシリンダは、最も高いアクセス頻度です。
  • HOTシリンダはアクセス頻度が高いものです。
  • WARMシリンダは、中程度のアクセス頻度です。
  • COLDシリンダは、アクセス頻度が最も少ないデータを格納します。

使用上の注意

新しいテーブルの場合、Vantageはこのテーブルのデータに温度を割り当てる際に使用するデータ アクセス頻度をまだ入手していないため、DBS制御のストレージ グループにおけるデフォルト設定を使用します。FORCEコマンドを使用して、システムによるデータ アクセスの統計収集を待たずに、新規のテーブルにデフォルト以外の温度を強制的に設定できます。

BLOCKCOMPRESSION = AUTOTEMPオプション(すなわち温度ベースのブロックレベル圧縮機能を使用するテーブル)が定義されたテーブルの場合、解凍されたデータをより低い温度に強制するとデータは圧縮され、圧縮されたデータをより高い温度に強制するとデータは解凍されます。FORCEコマンドが大量のデータをターゲットとする場合、これは短期的なパフォーマンスに影響を及ぼします。

FORCEコマンドは、表全体に温度を設定できるのに加えて、行、行の範囲、または特定のパーティションに対して温度を設定するのに使用できます。例えば、次のようになります。
  • 非パーティションNoPIテーブルで、古い行のデータが新しい行のデータよりもアクセス頻度が少ない場合、FORCEを使用して、古い行をCOLDに設定できます。
  • パーティション化されたテーブルで1つ以上パーティションのアクセス頻度が他のパーティションよりも多い場合、FORCEを使用してアクセス頻度の多いパーティションをHOTに設定できます。

温度ベースのブロック レベル圧縮が有効となっている場合、FORCEを使用して、アクセス頻度の低いテーブルまたはパーティションをCOLDに設定することで、従来よりも早く圧縮されます。

実際のデータ アクセス頻度を測定した結果、FORCEコマンドで設定した温度と異なる場合、データの温度は、時間経過にともない、FORCEコマンドで指定された温度から変化します。

1つ以上のテーブルの行を格納する、境界上のシリンダの温度は、COLDが設定されている場合、FORCEコマンドの影響を受けません。

FORCEコマンドは、以前に指定されたテーブルの範囲を無視し、FORCEコマンドで明示的に指定されたテーブルのみを操作対象にします。