适合创建索引的情况
●主键自动建立唯一索引.
●频繁作为查询条件的字段应该创建索引
●查询中与其它表关联的字段,外键关系建立索引
●查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度
●查询中统计或者分组字段
不适合创建索引的情况
●表记录太少
●经常增删改的表
●数据重复且分布平均的表字段,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。
●Where条件里用不到的字段不创建索引
索引分类
●单值索引
即一个索引只包含单个列,一个表可以有多个单列索引
创建语法:CREATE INDEX 索引名 ON 表名(列名);
●唯一索引
索引列的值必须唯一, 但允许有空值(MySQL会自动地为有唯一约束的列创建索引)
●复合索引
即一个索引包含多个列
删除索引:DROP INDEX 索引名 ON表名;
查看索引:SHOW INDEX FROM 表名;