はじめに MySQLで、レコード数が膨大のカラムに index を貼ろうとすると、デプロイ時に落ちることがありました。 この記事では、実際に行ったダウンタイムなしで index 貼る方法を紹介します。 簡単なDB構成 今回は、User テーブルの point カラムに対して index を貼ります。 手順 index を貼った point_new カラムを追加し、deploy point の値を point_new に移すスクリプトを流す rename する migration ファイルを作成し、deploy index を貼った point_new カラムを追加 User テーブルに、point_new というカラムを追加します。 カラムの追加に関しては、こちらの記事 が参考になるかと思います。 追加すると、DB構成は以下のようになります。 point の値を point_new に移す