加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

口试官出的MySQL索引题目,这篇文章全给你办理!

发布时间:2019-10-12 09:06:58 所属栏目:编程 来源:欧阳思海
导读:0 媒介 这篇文章不会讲授索引的基本常识,首要是关于MySQL数据库的B+树索引的相干道理,内里的一些常识都参考了MySQL技能黑幕这本书,也算对付这些常识的总结。对付B树和B+树相干的常识,可以参考我的这篇博客:口试官问你B树和B+树,就把这篇文章丢给他 1

服从高。索引列越多,通过索引筛选出的数据越少。有1000W条数据的表,有如下sql:select from table where col1=1 and col2=2 and col3=3,假设假设每个前提可以筛选出10%的数据,假如只有单值索引,那么通过该索引能筛选出1000W10%=100w条数据,然后再回表从100w条数据中找到切合col2=2 and col3= 3的数据,然后再排序,再分页;假如是连系索引,通过索引筛选出1000w10% 10% *10%=1w,服从晋升可想而知!

包围索引

包围索引是一种从帮助索引中就可以获得查询的记录,而不必要查询聚积索引中的记录,行使包围索引的一个甜头是帮助索引不包括整行记录的全部信息,以是巨细远小于聚积索引,因此可以大大镌汰IO操纵。包围索引的其它一个甜头就是对付统计题目有优化,我们看下面的一个例子。

  1. explain select count(*) from t_index G; 

口试官出的MySQL索引题目,这篇文章全给你办理!

假如是myisam引擎,Extra列会输出Select tables optimized away语句,myisam引擎已经生涯了记录的总数,直接返回功效,就不必要包围索引优化了。

假如是InnoDB引擎,Extra列会输出Using index语句,声名InnoDB引擎优化器行使了包围索引操纵。

2.2 索引提醒

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读