17.00 - 17.05 - FSP値の確認 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データベースの管理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Release Date
2020年6月
Content Type
管理
Publication ID
B035-1093-170K-JPN
Language
日本語 (日本)

以下のテーブル中のデータを参考にしてFSPの値を確かめます。

大部分の状況 結果
読み取り専用 システム全体のデフォルトFSP値を0に設定します。

ALTER TABLE文を使えば、残りの修正可能なテーブルのFSPをテーブルごとにオーバーライドすることができます。

非読み取り専用 行の追加によって拡大するテーブル サイズのパーセンテージによってFSP値は異なります。

FreeSpacePercentパラメータは、データ テーブルの正味の増化速度(挿入数から削除数を引いたもの)を反映して設定してください。通常は、5~15%に設定します。最初のロード後に巨大化するとは思われないテーブルの場合、0%の値が適切であると考えらえます。

例えば13週間の履歴を保存するシステムの場合に、毎日データを追加してから次の第14週目で除去するには、最低限1/13(8 %)のFSPを使用します。

小規模なデータ スキューおよび1週間で増加するデータ量を格納できるよう、さらに5 %(合計で13 %になります)を追加してもかまいません。

データ行の挿入または更新のストレージ用に空きシリンダ領域がシステムで動的に割り当てられるので、最初のロード時にそのための領域を残しておけば、シリンダの分割や移行を最小限にしてテーブルを拡張することができます。ただし、テーブル拡張を想定していない場合、つまりテーブルの大半が読み取り専用の場合は、FSPには最低値(0 %)を使用します。

システム デフォルトFSPがゼロの場合は、以下のテーブルに示す方法を実行して問題点を最小化してください。

状況 結果
読み取り専用テーブルを使用する 何も変更しません。

ロードのときか、またはPACKDISKのときに、システムは最大密度でテーブルを保管します。

BTEQまたはCLIプログラムを使ってデータを追加する テーブルのロードの前に、CREATE TABLE文のFREESPACE値を適切な値に設定します。

テーブルのロードが完了したら、ALTER TABLE文を使ってFREESPACEを適切な値に設定してからPACKDISKを実行します。

FSPを0以外の値に設定すると、テーブルは必然的に必要数以上のシリンダを使用することになります。テーブルに行を挿入する、Ferretユーティリティを使ってテーブルに対してPACKDISKを実行する、または空きシリンダが足りないためにMiniCylPackが動作しない限り、余計な領域が再利用されることはありません。

システム デフォルトFSPがゼロを超える場合は、以下のテーブルの内容を参考にして問題点を最小化してください。

状況 結果
読み取り専用テーブルを使用する テーブルをロードする前に、CREATE TABLE文のFREESPACEを0に設定します。

テーブルのロードが完了したら、ALTER TABLE文を使ってFREESPACEを0に変更してからPACKDISKを実行します。

BTEQまたはCLIプログラムを使ってデータを追加する 何も変更しません。

最大密度で行が追加されます。

テーブルのFREESPACEの調整

CREATE TABLEおよびALTER TABLE文のFREESPACEオプションを使用すれば、特定の操作中にシリンダ上に残される空き領域のデフォルト値を指定できます。

これにより、常に変更されるテーブルと、ロードされた後にのみ読み取られるテーブルとで、異なる値を選択できます。グローバルな空き領域値を指定するには、FreeSpacePercent (<Teradata Vantage™ - データベース ユーティリティ、B035-1102>の「FreeSpacePercent」を参照)を使用します。