CTAS
CTAS create tabls as select
selectを使い他のテーブルからデータと構造をコピーしてテーブルを作ることができる。
移される制約はnot nullだけである。
where句を指定することでコピーしたいデータや、件数を0にするような条件句でテーブルだけ作るということもできる。これで一時表とかも作れるなら便利そう?
カラムのUNUSED
カラムをDROPするには時間がかかる。そこでset unused を使うと速く向こうにすることができる。しかし、dropもそうだが、一度、unusedすると元に戻すことができない。
その後、drop unusedをすることでリソースを解放できる。
外部キー制約があるときは cascade constraints をセットしてあげる。
onlineで実行するとunusedにしている途中でもDMLを実行できる。
MOVE tableの表領域の変更
移動中の表へのDMLは待機させられる。設定されていた索引はunusableになる。なので、移動後に索引の再構築を行わないといけない。