初めまして、レアジョブDevOpsチームの薄井と申します。 先日フィリピン出張に行ってきたのですが、着いた日が選挙の投票日と重なっていまして、レストランでお酒を頼んだら断られました。投票日はお酒の販売が禁止になるそうです。大変勉強になりました。
さて、標題の通り50000000行あるテーブル2つに対してALTER TABLE ADD COLUMNしてみたのでその結果を共有したいと思います。
環境は下記の通りとなります。
いきなり結果です。
mysql> ALTER TABLE `hoge` -> ADD COLUMN `hoge_column` 〜〜; Query OK, 0 rows affected (65 min 7.88 sec)
1時間以上かかりました。CPU使用率の上昇も確認できました。 本テーブルの情報ですが、カラム数は10程度で1レコードのサイズはそんなに大きくありません。
ちなみに2テーブルあったので1つずつ実行した方が早く終了するかと思いましたが、検証の結果、並列実行の方が早く終わったので本番では同時に実行しました。 また、検証時は裏側で動いているバッチなどがなかったので50分程度で終了しました。
そんなわけで、DevOpsチームではメンバーを募集しております。 興味を持たれた方はお気軽にうすい (@_tusui) | Twitterまでご連絡ください。