Hitachi

ノンストップデータベース HiRDB Version 9 システム導入・設計ガイド(Windows(R)用)


12.21.4 既存の表を圧縮表に変更する方法

〈この項の構成〉

(1) 既存の表の列を圧縮列に変更する場合

定義系SQLのALTER TABLEの列属性変更定義(CHANGE 列名)で圧縮列に変更することはできません。そのため,既存の表の列を圧縮列に変更する場合は,次の手順で行ってください。

〈手順〉

  1. 既存の表のアンロード

    既存の表をアンロードします。

  2. 既存の表の削除

    DROP TABLEで既存の表をいったん削除します。

  3. 表の再定義

    CREATE TABLEで,圧縮列に変更する列に圧縮指定をして,表を再定義します。圧縮指定以外は変更しないでください。

  4. 表のリロード

    3.で再定義した表に,1.でアンロードしたアンロードデータファイルをリロードします。

データのアンロード及びリロードについては,マニュアル「HiRDB Version 9 コマンドリファレンス」を参照してください。

参考

圧縮列に変更する列が表の最後の列の場合,上記手順の2.及び3.は次の手順でも圧縮列に変更できます。

  • 既存の列の削除,及び圧縮列の追加

    PURGE TABLEで表のデータを0件にし,ALTER TABLEの列削除定義(DROP 列名)で圧縮列に変更する列をいったん削除します。次に,ALTER TABLEの列追加定義(ADD 列名)で,削除した列に圧縮指定をして再定義(追加)します。

(2) 既存の表の最後に新規の圧縮列を追加する場合

定義系SQLのALTER TABLEの列追加定義(ADD 列名)で圧縮指定をして圧縮列を追加します。その後,圧縮列にデータロードすると,データが圧縮して格納されます。

参考

ALTER TABLEの列追加定義では,表の最後に新しい列を追加します。そのため,圧縮列は表の最後の列にしか追加できません。