MySQL实战05の索引(下)

 

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

 

posted @ 2018-12-25 10:01  华格瑞沙  阅读(129)  评论(0编辑  收藏  举报