1、何时建索引
在WHERE和JOIN中出现的列需要建立索引,但也不完全如此,因为MySQL只对<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE才会使用索引
通配符%和_开头作查询时,MySQL不会使用索引, 以%结尾的使用索引
2、索引的缺点
虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件
建立索引会占用磁盘空间的索引文件。一般情况这个问题不太严重,但如果你在一个大表上创建了多种组合索引,索引文件的会膨胀很快
3、使用索引的注意事项
索引不会包含有NULL值的列
使用短索引,如果字符很长可以取前10个或20个字符
索引排序,少多列排序,及不同的排序
不使用函数, 使用函数,不使用索引