17.00 - 17.05 - FREESPACE PERCENT - 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
日本語 (日本)

FREESPACE = n PERCENTは、空き領域パーセント属性の値を指定します。nは整数の定数です。このテーブルに対するバルク データ ロード操作時に、nパーセントの空き領域が各シリンダに残されます。PERCENTは必須ではないキーワードであり、指定しても意味に変化はありません。

データベースの一部の操作では、CREATE TABLE文で指定した空き領域パーセントが順守されないことがあります。次の表に、指定された空き領域を順守する操作と、順守しない操作をリストします。
FREESPACEを使用する操作 FREESPACEを使用しない操作
  • FastLoadデータロード
  • データが入っていないテーブルに対するMultiLoadデータロード
  • Archive/Recoveryによる復元
  • テーブル再作成
  • システム再構成
  • FerretユーティリティのPACKDISKコマンド
  • MiniCylPack

    使用可能なシリンダが少なく、記憶領域が限られている場合、MiniCylPackは指定されたFREESPACE値を順守できないことがあります。

  • テーブルにフォールバック保護を追加するALTER TABLE文
  • データの入っているテーブルに対してセカンダリ インデックスを定義または再定義するCREATE INDEX文
  • INSERT…SELECT操作中に、フォールバック付きで定義された空のテーブルにフォールバック テーブルを作成する
  • INSERT…SELECT操作中に、セカンダリ インデックス付きで定義された空のテーブルにセカンダリ インデックスを作成する
  • SQL INSERT操作
  • Teradata Parallel Data PumpのINSERT操作
  • データが挿入されているテーブルへのMultiLoadデータ ロード。

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

いったんテーブルを作成した後、またはALTER TABLE文を使用してこのテーブルのFREESPACE PERCENTを変更した後は、FerretユーティリティのPACKDISKコマンドを使用してこの値を変更ないください。

代わりに、ALTER TABLE文を実行してテーブルの空き領域のパーセント値を変更してから、即座にPACKDISKコマンドを実行します。このコマンドは、ALTER TABLE文で設定した同じ空き領域のパーセント値を指定します。ALTER TABLE (テーブルの基本的なパラメータ)を参照してください。PACKDISKの実行については、Teradata Vantage™ - データベース ユーティリティ、B035-1102のFerretユーティリティを参照してください。

PACKDISKコマンドを手動で実行し、コマンドラインで空き領域のパーセンテージを指定すると、PACKDISKは、指定された空き領域のパーセンテージに一致するよう、テーブルのシリンダをパックまたはアンパックします。ただし、指定した空き領域のパーセンテージが、テーブルが作成されたとき、または最後に変更されたときにそのテーブルに対して指定されている値と異なる場合は、Teradata DatabaseはPACKDISKが完了した直後に新しいAutoCylPackタスクを開始します。次にこのAutoCylPack操作は、PACKDISKで指定した空き領域のパーセンテージを無効にして、テーブルが作成されたとき、または最後に変更されたときに指定された空き領域のパーセンテージになるように再調整します。