11.21.6 圧縮表使用時の留意事項
-
圧縮列のデータをSQLやユティリティで操作する場合,圧縮処理や伸張処理のオーバヘッドが掛かります。BINARY型のデータの圧縮処理や伸張処理に掛かった時間は,統計解析ユティリティ(pdstedit)のUAPに関する統計情報で確認できます。なお,抽象データ型(XML型)の処理時間については確認できません。
-
圧縮対象となるデータの実態によって異なりますが,圧縮分割サイズが大きいほどデータの圧縮効率は上がります。ただし,圧縮分割サイズを大きくすると,圧縮列に対するデータの格納及び抽出が発生するSQL※を実行する場合にSQL実行時に確保するプロセス固有領域が増加します。メモリ不足を防ぐため,圧縮分割サイズはシステム内の空きメモリや,pd_max_access_tablesオペランドの指定値を考慮した値を指定してください。増加するプロセス固有メモリ所要量については,HiRDB/シングルサーバの場合は「圧縮列に対して操作系SQLを実行する場合に必要なメモリ所要量の求め方」を,HiRDB/パラレルサーバの場合は「圧縮列に対して操作系SQLを実行する場合に必要なメモリ所要量の求め方」を参照してください。
-
表の再編成時にエラーが発生し,その対処として圧縮されたデータを含むアンロードデータファイル(pdrorg -k rorgでアンロードされたファイル)をリロードする場合,アンロード元とリロード先の表の圧縮指定(圧縮指定の有無,及び圧縮分割サイズの指定値)が同じである必要があります。圧縮指定が異なる列がある場合,pdrorgはエラー終了します。
-
共有モードで圧縮表のリバランスを実行する場合,データの伸張及び圧縮を行うため,圧縮列がない場合に比べてリバランス処理に掛かる時間が長くなることがあります。実行時間を短縮したい場合は,占有モードで実行してください。
- 注※ 次のようなSQLです。
-
-
SUBSTR関数を使用している
-
POSITION関数を使用している
-
後方削除更新をしている
-