目的
指定したデータベースおよびテーブルで、指定したデータ型を圧縮、またはテーブルを圧縮した場合の予想結果を示します。指定した型のいずれかに当てはまるデータが最終的に指定したテーブルまたはデータベースに追加される場合、同様に圧縮されます。
圧縮形式は、DBS制御のCompressionAlgorithm設定で指定されたアルゴリズムが用いられます。
構文規則
- /Y
- 確認のメッセージが表示されないようにします。
- table_unique
- データ ブロックが圧縮されるテーブルの固有の識別子。
次のオプションは、圧縮するデータの種類を指定します。
- PRIMARY
- 指定のデータベースまたはテーブル内での圧縮の対象となるすべてのプライマリ基本テーブルとプライマリLOBデータ。
- FALLBACK
- 指定のデータベースまたはテーブル内での圧縮の対象となるすべてのフォールバック基本テーブル データとフォールバックLOBデータ。
- FALLBACKANDCLOBS
- 圧縮の対象となるすべてのフォールバック基本テーブル データ、フォールバックLOBデータ、および指定のデータベースまたはテーブル内での圧縮の対象となるプライマリLOBデータ。
- WITHOUT CLOBS
- 指定のデータベースまたはテーブル内での圧縮の対象となる、LOBデータを除くすべてのデータ。
- ONLY CLOBS
- 指定のテーブル内での圧縮の対象となるプライマリおよびフォールバックLOBデータのみ。他のテーブルのDBは対象となりません。
次のオプションでは、データは圧縮されません。
- ESTIMATE
- E
- 圧縮操作が実行された後のデータ ブロック(DB)の推定サイズと、必要となるCPU使用量(DBあたりの時間)を予想します。いずれのデータも圧縮されません。
Ferret INQUIRE (INQ)コマンドおよびABORTコマンドを使用して、コマンド実行中に処理状況を確認、または処理を中断することができます。
圧縮解除中のテーブルが同時に他のプロセスにより変更されている場合、INQUIREコマンドによりレポートされるコマンド進行状況の割合は不正確となる可能性があります。
使用上の注意
COMPRESSコマンドは、Teradata Databaseのブロック レベル圧縮(BLC)機能の一部です。
BLCは、Teradata Databaseファイル システムのデータ ブロック(DB)レベルでのデータ圧縮を可能にします。 圧縮により所定のデータ量に必要なストレージの量が低減されます。 DBS制御のBlockLevelCompressionフィールドで、BLCを有効または無効にできます。
BLCはシステム全体で、またはさまざまなカテゴリのテーブルに対して有効または無効にできます。永続データの場合、これにはプライマリ データ、フォールバック データ、適格LOBデータのサブテーブル、および結合インデックスとハッシュ インデックスが含まれます。プライマリ行のセカンダリ インデックスは圧縮されませんが、セカンダリ インデックスの代替コピーを圧縮してスペースを節約できます。
BLOCKCOMPRESSION値がCREATE TABLE文またはALTER TABLE文でNEVERに設定されているテーブルは、COMPRESSコマンドを使用して圧縮することはできません。
- ブロックがMinDBSectsToCompressで指定された数より少ないセクターで構成されている。
- 圧縮後のブロック サイズが、MinPercentCompReductionで指定された割合で削減されていない。
- 指定されたテーブル タイプのDBS制御圧縮設定が、NEVER圧縮に設定されている。
特定のアルゴリズムでデータ ブロックを圧縮し、その後アルゴリズムが変更された場合でも、データは圧縮されたままです。 テーブルに追加されたデータは、新たなアルゴリズムによって追加されます。 過去に圧縮されたデータが更新され、データの圧縮解除と再圧縮が必要となった場合、現在設定されているアルゴリズムが再圧縮で用いられます。
最終的に、データがテーブルに追加された時点での設定に応じて、圧縮解除されたデータ ブロックと別の圧縮アルゴリズムで圧縮されたデータ ブロックを混合して1つのサブテーブルで表示できます。データの圧縮で一貫性を持たせるには、Ferret COMPRESSコマンドを使用して、現在設定されているアルゴリズムですべてのデータを圧縮するか、またはFerret UNCOMPRESSコマンドを使用して、すべてのテーブル データを圧縮解除します。
DBS制御のPermDBSize設定とJournalDBSize設定は、これらのタイプのDBで圧縮解除サイズに対して適用されます。
Ferretは、COMPRESS操作の開始と終了をログに記録します。操作中にデータベースがリセットされると、データベース再始動後に、回復処理の一部として圧縮操作が続行されます。ただし、圧縮が続行されて完了するのは、リセット時に圧縮が進行中であったテーブルに関してのみです。データベースのその他の部分については、リセット前の状態のままとなります。
1つのCOMPRESSコマンドのインスタンスのみを、任意のタイミングにシステム上で実行できます。
COMPRESSまたはUNCOMPRESSコマンドを発行した場合にエラーを受信し、実行中のいずれかのコマンドのインスタンスが他にないことが確実な場合、RESETBLCTSKCNTコマンドを使用して、COMPRESSタスクおよびUNCOMPRESSタスクの実行数をゼロにリセットします。
関連トピック
詳細情報 | 参照先 |
---|---|
DBS制御圧縮設定 | DBS制御(dbscontrol) |
クエリー バンド | Teradata Vantage™ SQLデータ定義言語 - 詳細トピック、B035-1184 |
RADIXコマンド | RADIX |
RESETBLCTSKCNTコマンド | RESETBLCTSKCNT |
TABLEIDコマンド | TABLEID |
UNCOMPRESSコマンド | UNCOMPRESS |