码迷,mamicode.com
首页 > 数据库 > 详细

MySQL实战05の索引(下)

时间:2018-12-25 11:23:50      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:where   一个   开始   调整   https   get   实战   pre   主键索引   

 

1. 覆盖索引

索引k上已经包含了我们的查询需求,称之为覆盖索引。
好处:
覆盖索引可以减少树的搜索次数,显著提升性能。

 

2. 前缀索引

联合索引:多个字段组成的索引。
最左前缀:可以是联合索引的最左N个字段,也可以是字符串索引的最左M个字符。
如何安排索引内的字段顺序呢?
(1)如果调整顺序,可以减少维护一个索引,那么这个顺序往往就是需要优先考虑采用的。
(2)考虑的原则就是空间

 

3. 索引下推

select * from user where name like 张% and age =10;联合索引(name,age)

在MySQL5.6之前,根据索引找到张开头的字段开始一个一个回表,到主键索引上找出数据行,在对比字段。 在MySQL5.6引入索引下推优化,可以在索引遍历过程中,多索引字段包含字段先做判断,直接过滤掉不满足条件的记录,减少回表次数。

 

总结

理解索引的概念,覆盖索引,前缀索引,索引下推。

在满足需求的情况下,尽量少的访问资源是数据库设计的重要原则之一。

原文地址:https://time.geekbang.org/column/article/69636

 

MySQL实战05の索引(下)

标签:where   一个   开始   调整   https   get   实战   pre   主键索引   

原文地址:https://www.cnblogs.com/yangjiming/p/10172323.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!