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

我觉得我对MySQL索引很相识,直到我碰着了阿里的口试官

发布时间:2019-07-17 04:48:25 所属栏目:编程 来源:佚名
导读:信托许多人对付MySQL的索引都不生疏,索引(Index)是辅佐MySQL高效获取数据的数据布局。 由于索引是MySQL中较量重点的常识,信托许多人都有必然的相识,尤其是在口试中呈现的频率出格高。楼主自以为本身对MySQL的索引相干常识有许多相识,并且由于最近在找

假如没有行使索引下推技能,则MySQL会通过zipcode='95054'从存储引擎中查询对应的数据,返回到MySQL处事端,然后MySQL处事端基于lastname LIKE '%etrunia%'和address LIKE '%Main Street%'来判定数据是否切合前提。

假如行使了索引下推技能,则MYSQL起首会返回切合zipcode='95054'的索引,然后按照lastname LIKE '%etrunia%'和address LIKE '%Main Street%'来判定索引是否切合前提。假如切合前提,则按照该索引来定位对应的数据,假如不切合,则直接reject掉。有了索引下推优化,可以在有like前提查询的环境下,镌汰回表次数。

Q:你们建设的那么多索引,到底有没有见效,可能说你们的SQL语句有没有行使索引查询你们有统计过吗?

A:这个还没有统计过,除非碰着慢SQL的时辰我们才会去排查

Q:那排查的时辰,有什么本领可以知道有没有走索引查询呢?

A:可以通过explain查察sql语句的执行打算,通过执行打算来说明索引行使环境

Q:那什么环境下会产生显着建设了索引,可是执行的时辰并没有通过索引呢?

A:(或许记得和优化器有关,可是这个题目并没有答复好)

查询优化器?

一条SQL语句的查询,可以有差异的执行方案,至于最终选择哪种方案,必要通过优化器举办选择,选择执行本钱最低的方案。

在一条单表查询语句真正执行之前,MySQL的查询优化器会找出执行该语句全部也许行使的方案,比拟之后找出本钱最低的方案。

这个本钱最低的方案就是所谓的执行打算。优化进程大抵如下:

1、按照搜刮前提,找出全部也许行使的索引

2、计较全表扫描的价钱

3、计较行使差异索引执行查询的价钱

4、比拟各类执行方案的价钱,找出本钱最低的那一个

Q:哦,索引有关的常识我们暂且就问这么多吧。你们线上数据的事宜断绝级别是什么呀?

A:(后头关于事宜断绝级此外题目了,就不睁开了)

感受是由于我答复的不足好,假如这几个索引题目我城市的话,他还会追问更多,生怕会被虐的更惨

5 .总结&感悟

以上,就是一次口试中关于索引部门常识的题目以及我清算的谜底。感受这次口试进程中关于索引的常识,本身或容许以或许答复的内容占70%阁下,可是自信完全答对的内容只占50%阁下,看来本身索引有关的常知趣识的照旧不足多。

通过这次口试,发明像阿里这种大厂对付底层常识照旧较量垂青的,我早年觉得关于索引最多也就问一下Hash和B+有什么区别,没想到最后都能问到查询优化器上面。

最后,不管本次口试能不能通过,都很是感激有这样一次机遇,可以让本身看到本身的不敷。通过这次口试,我也收成了许多对象。加油!

【编辑保举】

  1. MySQL在并发场景下的题目及办理思绪
  2. 终于有人将MySQL索引讲清晰了
  3. 两个小器材,MySQL死锁说明,新手艺又Get!
  4. MySQL数据库查询缓存总结
  5. 详解高机能mysql之MySQL高级特征总结
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

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

热点阅读