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 テーブル名
————————————————