MySQL高级开发(六)--索引优化总结(优化口诀)
2018-02-03 10:37
555 查看
MySQL高级开发(六)–索引优化总结(优化口诀)
标签(空格分隔): MySQLMySQL高级开发六索引优化总结优化口诀
口诀
建索引注意事项
索引容易失效的几个注意点
在根据执行计划对SQL进行分析之后,逐步的去优化每个子查询的索引及成本使用情况,执行计划我的理解就是用来对索引进行逐步的优化的一个过程,让每个查询都尽量使用索引,在索引过程中,索引会经常性失效。
口诀
全值匹配我最爱,最左前缀要遵守带头大哥不能死,中间兄弟不能断
索引列上少计算,范围之后全失效
LIKE符号写最右,覆盖索引不写星
不等空值还有or,索引失效要少用
var引号不能丢,SQL高级也不难
分组之前必排序,一定要上索引啊
建索引注意事项
1、单值索引,尽量选择过滤性更好的字段,例如:性别字段,过滤度为50%,识别率很差,不建议建索引2、组合索引,索引字段的顺序可以按照识别度进行排序,识别度越高,放在越靠前
3、组合索引,尽量包含where语句中的更多字段
4、尽可能的根据分析执行计划、统计信息,去调整query的写法达到合适索引的目的
索引容易失效的几个注意点
1、不在索引列上做任何的操作(计算、函数、类型转换),会导致索引失效而转向全表扫描2、组合索引中,如果中间某个字段使用了范围条件,则右边的列索引失效
3、尽量使用覆盖索引(索引列和查询列一致),减少使用select *
4、mysql在使用不等于(!= 或者<>)的时候,无法使用索引列会导致全表扫描
5、is null ,is not null 也无法使用索引
6、like通配符必须放在索引列的右边,否则索引失效,编程全表扫描
7、字符串不加单引号索引失效
8、少用or,用它连接索引会失效
相关文章推荐
- MySQL高级开发(四)---索引优化分析(MySQL执行计划解析)
- Mysql高级索引优化案例----两表(八)
- 「mysql优化专题」单表查询优化的一些小总结,非索引设计(3)
- mysql索引优化的总结
- mysql索引总结----mysql 索引类型, 创建以及优化
- 「mysql优化专题」单表查询优化的一些小总结,非索引设计(3)
- 总结mysql不使用索引情况以及如何优化sql语句
- Lucene搜索引擎开发高级部分1(索引的建立和优化)
- MySQL高级开发(五)--查询优化(ORDER BY & GROUP BY)
- 总结:MySql在建立索引优化时需要注意的问题
- MySQL索引及查询优化总结
- MySQL高级十三——通过索引优化SQL
- MySQL高级开发--索引简介
- Mysql优化,导致查询不走索引的原因总结
- Mysql高级索引优化案例----三表(九)
- Mysql 索引的理解,总结与优化注意事项
- MySQL索引及查询优化总结 专题
- MySQL高级知识-查询与索引优化分析
- 理解MySQL――索引与优化总结
- mysql高级包含索引建立优化_函数_存储过程_触发器_及游标