【mysql】テーブルにインデックスを追加する方法

mysqlで、既存のテーブルにインデックスを追加する方法

------------------------------------------------
CREATE INDEX インデックス名 ON テーブル名(フィールド名);
------------------------------------------------

もしくは、
------------------------------------------------
ALTER TABLE テーブル名 ADD INDEX インデックス名(フィールド名);
------------------------------------------------

インデックス名は下記のように省略可。
------------------------------------------------
ALTER TABLE テーブル名 ADD INDEX (フィールド名);
------------------------------------------------
この場合、インデックスのフィールド名がそのままインデックス名となる。

TEXT型など一部の型にインデックスの追加を試みると、エラーになる場合がある。

エラーメッセージ
------------------------------------------------
BLOB/TEXT column 'text_field' used in key specification without a key length
------------------------------------------------

対処法。適当にキー長を明示する。
------------------------------------------------
ALTER TABLE テーブル名 ADD INDEX インデックス名(フィールド名(100));
------------------------------------------------

最後にインデックスできてるかを確認。

確認コマンド
------------------------------------------------
show index from テーブル名
------------------------------------------------