MySQLで特定のカラムにindexを追加した状態を確認したい機会があり、SQLを使用してindexを追加しました。
indexを追加
ALTER TABLE と ADD INDEX でindexを追加することができます。
indexを追加する基本
ALTER TABLE テーブル名 ADD INDEX インデックス名(カラム名);
postsテーブルのupdated_atカラムにindexを貼る場合です。
indexを追加するSQL
ALTER TABLE posts ADD INDEX index_posts_on_updated_at(updated_at);
indexを削除
indexを削除する場合はDROP INDEXと書きます。
indexを削除する基本
ALTER TABLE テーブル名 DROP INDEX インデックス名;
postsテーブルからindex_posts_on_updated_atというインデックスを削除します。
indexを削除するSQL
ALTER TABLE posts DROP INDEX index_posts_on_updated_at;
複合indexを追加
複合indexを追加する場合は、カラム名をカンマ区切りで指定します。
複合indexを追加するSQL
ALTER TABLE posts ADD INDEX index_posts_on_created_at_updated_at(created_at, updated_at);
上記SQLでは created_at と updated_at のカラムで複合indexを貼りました。
おまけ
以下はindexを確認する場合の記事になります。
http://qiita.com/pugiemonn/items/2edf5d7967fb45dd5196