インデックスを張ったり,確認したり

そういやデータベースのインデックスを張ったことがなかった.

インデックスの作成

CREATE INDEX <INDEX NAME> ON <TABLE NAME>(<COLUMN NAME>);

実行例

mysql> CREATE INDEX user_nm_idx ON user_id(user_name);

作成したインデックスの表示

SHOW INDEXES FROM <TABLE NAME>;
mysql> SHOW INDEXES FROM user_id;
+----------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table    | Non_unique | Key_name    | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+----------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| user_id  |          1 | user_nm_idx |            1 | user_name   | A         |       29268 |     NULL | NULL   |      | BTREE      |         | 
+----------+------------+-------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
1 row in set (0.00 sec)

インデックスの削除

DROP INDEX <INDEX NAME> ON <TABLE NAME>
mysql> DROP INDEX user_nm_idx ON user_id;