17.00 - 17.05 - DATABLOCKSIZE - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Release Date
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-170K-JPN
Language
日本語 (日本)

DATABLOCKSIZEでは、複数の行からなるデータ ブロックの最大サイズを設定します。Teradataファイル システムでは、データ ブロックが物理入出力の単位になります。

ブロック サイズが大きい場合は、1回の入出力で多くの行が選択されることになるので、フル テーブル スキャンを実行するときに好都合です。逆に、小さなブロック サイズの場合は、不必要な行を抽出しなくても済むので、トランザクション指向のテーブルに適しています。

DATABLOCKSIZEの設定値を超えるサイズの行は、専用のデータ ブロックに保管されます。Teradata Databaseが行を複数のデータ ブロックの間に分割することはありません。

1セクターは、通常4 KBです。DATABLOCKSIZE属性の計算値が有効範囲に入らない場合は、リクエスト元にエラー メッセージが返されます。

DATABLOCKSIZEの値を指定しない場合、データベースは、DBS制御レコードのPermDBSizeフィールドで指定されたシステム全体のデフォルトのデータ ブロック サイズを使用します。デフォルト値は通常254セクターで、すべてのシステムで最大値は255セクターです。DBS制御レコードについては、<Teradata Vantage™ - データベース ユーティリティ、B035-1102>を参照してください。

DATABLOCKSIZEのデフォルト値は、システムに設定されているシリンダ サイズによって決まります。

次に示すのは、最小データ ブロック サイズについてのリリース固有のルールです。

SHOW TABLE文の応答として返されたDATABLOCKSIZEの値は、テーブルのCREATE TABLE文に指定された値、または最後に入力されたALTER TABLE文に指定された値になります。

データ ブロック サイズの詳細については、次の資料を参照してください。
  • Teradata Vantage™ - データベースの管理、B035-1093
  • Teradata Vantage™ - データベースの設計、B035-1094
  • Teradata Vantage™ - データベース ユーティリティ、B035-1102

大シリンダ システム

Teradata Database 13.10以降で初期化されたシステムは、大きいシリンダを使用します。次の表は、大シリンダ システムでのデータ ブロック サイズの最大値と最小値を示しています。

最小データ ブロック サイズ 説明
42個のセクター(21504バイト) CREATE TABLE文およびALTER TABLE SQL文で受け入れられる最小データ ブロック サイズは、21248バイト(41.5個のセクター)です。この最小サイズを使用するように作成または変更されたテーブルでは、この値は構文解析プログラムで42個のセクターに切り上げられるため、これらのテーブルの実際の最小データ ブロック サイズは、21504バイトになります。
最大データ ブロック サイズ 説明
2047個のセクター(1048064バイト) CREATE TABLE文およびALTER TABLE SQL文で受け入れられる最大データ ブロック サイズは、1048319バイト(2047.5個のセクター)です。この最大サイズを使用するように作成または変更されたテーブルでは、この値は構文解析プログラムで2047個のセクターに切り下げられるため、これらのテーブルの実際の最大データ ブロック サイズは、1048064バイトになります。

小シリンダ システム

リリース13.10より前のTeradata Databaseで初期化され、その後Sysinitユーティリティを実行せずにアップグレードされたシステムは、小さいシリンダを使用します。次の表は、小シリンダ システムでのデータ ブロック サイズの最大値と最小値を示しています。

最小データ ブロック サイズ 説明
18個または19個のセクター(9216バイトまたは9728バイト) CREATE TABLE文およびALTER TABLE文で受け入れられる最小データ ブロック サイズは、8960バイト(17.5個のセクター)です。この最小サイズを使用するように作成または変更されたテーブルでは、この値は構文解析プログラムで18個のセクターに切り上げられるため、これらのテーブルの実際の最小データ ブロック サイズは、9216バイトになります。
最大データ ブロック サイズ 説明
512個のセクター(262144バイト) CREATE TABLE文およびALTER TABLE SQL文で受け入れられる最大データ ブロック サイズは、262399バイト(512.5個のセクター)です。この最大サイズを使用するように作成または変更されたテーブルでは、この値は構文解析プログラムで512個のセクターに切り下げられるため、これらのテーブルの実際の最大データ ブロック サイズは、262144バイトになります。