OceanBaseデータベースのOracleモードにおけるテーブル操作には、行フォーマットの変更、ブロックサイズの変更、およびテーブル名の変更が含まれます。
行フォーマットの変更
行フォーマットを変更する構文は以下のとおりです:
ALTER TABLE table_name [MOVE]
{ NOCOMPRESS
| COMPRESS [BASIC]
| COMPRESS FOR OLTP
| COMPRESS FOR QUERY [LOW | HIGH]
| COMPRESS FOR ARCHIVE [LOW | HIGH]
};
ここで:
NOCOMPRESS:データはエンコードまたは圧縮されず、flat形式で保存されることを示します。COMPRESS BASIC:データはエンコードされず、flat形式で保存され、lz4_1.0圧縮が使用されることを示します。COMPRESS FOR OLTP:データはエンコードされず、flat形式で保存され、lz4_1.0圧縮が使用されることを示します。COMPRESS FOR QUERY [LOW | HIGH]:データはエンコードされ、encoding形式で保存され、zstd_1.0圧縮が使用されることを示します。COMPRESS FOR ARCHIVE:データはエンコードされ、encoding形式で保存され、zstd_1.0圧縮が使用されることを示します。デフォルト値はCOMPRESS FOR ARCHIVEです。
行フォーマットを変更する例は以下のとおりです:
obclient> ALTER TABLE t1 MOVE NOCOMPRESS;
Query OK, 0 rows affected
ブロックサイズの変更
ブロックサイズを変更する構文は以下のとおりです:
ALTER TABLE table_name BLOCK_SIZE = value;
ブロックサイズを変更する例は以下のとおりです:
obclient> ALTER TABLE t1 BLOCK_SIZE = 1024;
Query OK, 0 rows affected
テーブル名の変更
テーブル名を変更する構文は以下のとおりです:
ALTER TABLE old_tbl_name RENAME TO new_tbl_name;
テーブル名を変更する例は以下のとおりです:
obclient> ALTER TABLE t1 RENAME TO t2;
Query OK, 0 rows affected