RareJob Tech Blog

レアジョブテクノロジーズのエンジニア・デザイナーによる技術ブログです

50000000行あるテーブルにカラム追加してみた

初めまして、レアジョブ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までご連絡ください。