在根据执行计划对SQL进行分析之后,逐步的去优化每个子查询的索引及成本使用情况,执行计划我的理解就是用来对索引进行逐步的优化的一个过程,让每个查询都尽量使用索引,在索引过程中,索引会经常性失效。
- 口诀
全值匹配我最爱,最左前缀要遵守
带头大哥不能死,中间兄弟不能断
索引列上少计算,范围之后全失效
LIKE符号写最右,覆盖索引不写星
不等空值还有or,索引失效要少用
var引号不能丢,SQL高级也不难
分组之前必排序,一定要上索引啊
- 建索引注意事项
1、单值索引,尽量选择过滤性更好的字段,例如:性别字段,过滤度为50%,识别率很差,不建议建索引
2、组合索引,索引字段的顺序可以按照识别度进行排序,识别度越高,放在越靠前
3、组合索引,尽量包含where语句中的更多字段
4、尽可能的根据分析执行计划、统计信息,去调整query的写法达到合适索引的目的
- 索引容易失效的几个注意点
1、不在索引列上做任何的操作(计算、函数、类型转换),会导致索引失效而转向全表扫描
2、组合索引中,如果中间某个字段使用了范围条件