MySQL(5.0)のテーブル名変更

数億レコードあるテーブルに、無謀にもカラム追加しようとして痛い目を見たのだが、ある程度は過去データを捨ててもいいというようになったので、テーブル名の変更をしてバックアップを取って、あらたにテーブル定義をしなおした。

テーブル名の変更の仕方は非常に簡単。

mysql> RENAME TABLE <既存のテーブル名> TO <変更後のテーブル名>;

テーブル名の前に DB 名をつければ、異なる DB 間でも変更が可能みたいである。

実行してみて思ったことが、テーブル名変更にかかるコストがほぼ 0 に近いことである。自分のタイミングでテーブル名を変更できるので、テーブルデータが巨大になりそうなときの逃げ道として使えそうだ。