前のページ|次のページ

COMPRESS= LIBNAMEステートメントオプション

SPD Engineデータセットの作成時にディスク上で圧縮するように指定します。

デフォルト: NO
制限事項: ENCRYPT=YESまたはENCRYPT=AESと一緒には使用不可
操作: IOBLOCKSIZE= LIBNAMEステートメントオプション
PADCOMPRESS=データセットオプション
エンジン: SPD Engineのみ

構文

COMPRESS=NO | YES | CHAR | BINARY

必須引数

NO

データセットの圧縮は実行しません。

YES | CHAR

RLE (ランレングスエンコーディング)を使用してSPD Engineデータセット内のデータをブロック単位で圧縮するように指定します。RLEでは、反復実行される同じ文字(空白を含む)を2バイトまたは3バイトの表現に削減することでデータが圧縮されます。

BINARY

RDC (ロスデータ圧縮)を使用してSPD Engineデータセット内のデータをブロック単位で圧縮するように指定します。RDCでは、RLEとスライディングウィンドウ圧縮を組み合わせて反復バイトパターンをより効果的に表現することでファイルが圧縮されます。

注: これは、中容量から大容量(数百バイト以上)のブロックのバイナリデータ(文字変数と数値変数)を圧縮する場合に大きな効果を発揮する方法です。

詳細

COMPRESS=YES|BINARY|CHARを指定した場合、SPD Engineでは、データコンポーネントファイルが、作成時にブロックで圧縮されます。圧縮ブロックのサイズを指定するには、データセットの作成時にIOBLOCKSIZE=データセットオプションを使用します。新しく圧縮したブロックに埋め込みを追加するには、データセットの作成または更新時にPADCOMPRESS=データセットオプションを指定します。詳細については、SPD Engineデータセットの圧縮を参照してください。
SPD Engineでは、ユーザー指定の圧縮はサポートされません。圧縮と暗号化の両方が行われたデフォルトBase SAS Engineデータセットを移行する場合、暗号化は保持されますが、圧縮は解除されます。
CONTENTSプロシジャでは、圧縮設定が識別されます。データセットが圧縮される場合、PROC CONTENTSで圧縮についての情報が出力されます。次の例では、CONTENTSプロシジャ出力の圧縮情報フィールドについて説明します。
通常、COMPRESS=CHARを指定すると、単一バイトの反復が存在する場合に適切な圧縮結果がもたらされ、COMPRESS=BINARYを指定すると、バイト列の反復が存在する場合に適切な圧縮結果がもたらされます。また、単一バイトの反復よりも、バイト列の反復を見つける方が労力を要します。たとえば、COMPRESS=CHARおよびCOMPRESS=BINARYを参照してください。
PROC CONTENTS圧縮情報セクション
CONTENTSプロシジャ圧縮情報セクション
圧縮ブロック数
データの格納に必要な圧縮ブロック数。
生データブロックサイズ
IOBLOCKSIZE=データセットオプションに指定したサイズから計算されたバイト単位の圧縮ブロックサイズ。これは、ブロックサイズ単位で取得するオブザベーション長の最大倍数です。
オーバーフローのあるブロック数
より多くの領域を必要とする圧縮ブロック数。データが更新されて、圧縮された新ブロックが圧縮された旧ブロックよりも大きくなった場合、オーバーフローブロックフラグメントが作成されます。
オーバーフローチェーンの最大長
単一ブロックのオーバーフロー最大数。たとえば、圧縮ブロックが更新されて大きくなり、再度更新されてより大きなサイズになった場合、オーバーフローチェーンの最大長は2になります。
最大チェーンのブロック数
最大数のオーバーフローブロックを含むブロック数。
最小オーバーフロー領域
オーバーフローに必要なディスク領域最小容量。
最大オーバーフロー領域
オーバーフローに必要なディスク領域最大容量。
通常、圧縮ファイルへのアクセスには、より多くの処理時間を必要とします。読み取る前にファイルの圧縮解除が必要です。また、更新の場合は、ディスクに書き込む際に、もう一度圧縮する必要があります。

比較

COMPRESS= LIBNAMEステートメントオプションで、COMPRESS=システムオプションが上書きされます。
COMPRESS=データセットオプションで、COMPRESS= LIBNAMEステートメントオプションが上書きされます。
前のページ|次のページ|ページの先頭へ