16.20 - MERGEBLOCKRATIO - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-162K-JPN
Language
日本語 (日本)

これは、Teradata Databaseが複数の小さなデータ ブロックを単一のより大きなデータ ブロックに組み合わせるときに使用されるブロック結合の割合になります。

DEFAULT
このテーブルに対するデータ ブロック マージ操作の開始時に、DBS制御レコードによって定義されるMergeBlockRatioの値。
DEFAULT MERGEBLOCKRATIOは、グローバル一時テーブルと揮発テーブルに対して指定できます。
ユーザーが指定するブロック結合割合をTeradata Databaseで使用するかどうかは、DBS制御パラメータのDisableMergeBlocksの設定によって決まります。
  • DisableMergeBlocksがFALSEのときに、MERGEBLOCKRATIOを指定すると、指定した値が使用されます。MERGEBLOCKRATIOを指定しない場合、DBS制御パラメータMergeBlockRatioに対するシステム全体のデフォルト設定が使用されます。
  • DisableMergeBlocksがTRUEの場合、ブロック結合割合に対するすべてのテーブル レベルの設定が無視され、システム内のどのテーブルのデータ ブロックもマージされません。
integer PERCENT
このテーブルに対してデータ ブロック マージ操作が実行される際のブロック結合割合。integerの範囲は1から100です。デフォルト値は60です。
数値によるブロック結合割合を指定できるのは、永久基本テーブルおよび永久ジャーナル テーブルに対してだけです。数値によるブロック結合割合をグローバル一時テーブルまたは揮発テーブルに指定することはできません。単一ブロックのみが変更される場合、このブロック結合割合の値は結果のブロック サイズに影響を与えません。テーブルに対するブロック結合割合の設定が高すぎると、結果として生成されたブロックで、それ以降の変更の際に分割が必要になる可能性があります。
PERCENTは、値がパーセンテージであることを示す任意指定のキーワードです。
NO
Teradata Databaseが複数の小さなデータ ブロックを単一のより大きなデータ ブロックに組み合わせる際に、テーブルのデータ ブロックをマージしません。

グローバル一時テーブルと揮発テーブルに対してNO MERGEBLOCKRATIOオプションを指定できます。

例: MERGEBLOCKRATIOの変更

以下の例は、ALTER TABLEリクエストを使用して個々のテーブルのブロック結合割合を変更する方法を示しています。

最初の例では、emp_tableに対するデフォルトのブロック結合割合を変更することで、システムがDBS制御パラメータMergeBlockRatioの現在の値を取得し、小さなデータ ブロックを大きなデータ ブロックにマージするときにこの値が適用されるようにします。

     ALTER TABLE emp_table, DEFAULT MERGEBLOCKRATIO;

次の例では、emp_tableに対するブロック結合割合の現行設定を25%に変更します。

     ALTER TABLE emp_table, MERGEBLOCKRATIO = 25 PERCENT;

最後の例では、emp_tableに対するすべてのデータ ブロックのマージを無効にします。

     ALTER TABLE emp_table, NO MERGEBLOCKRATIO;