建索引原则
2019-08-13 本文已影响0人
新_WX
索引原则
(1) 必须要有主键,如果没有可以做为主键条件的列,创建无关列
(2) 经常做为where条件列 order by group by join on, distinct 的条件(业务:产品功能+用户行为)
(3) 最好使用唯一值多的列作为索引,如果索引列重复值较多,可以考虑使用联合索引
(4) 列值长度较长的索引列,我们建议使用前缀索引.
(5) 降低索引条目,一方面不要创建没用索引,不常使用的索引清理,percona toolkit(xxxxx)
(6) 频繁更新的列,不适合做索引列。
(7) 索引维护要避开业务繁忙期,pt-tools
面试题:有索引,为什么查询效率还很低?
- 有索引没走
- 联合索引没有完全覆盖
- 索引失效或者统计信息不真实
- 索引列的重复值太多
如何排查和解决此类问题:
- 先看这个语句的执行计划
table,type,key_len判断联合索引的覆盖长度,extra,额外排序
rows 重复值 ------>- 没有索引建立索引,改语句。
检查索引
optimize table city;