暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一条SQL的执行过程,就是媳妇让你取快递

程序员进化 2021-11-25
294

文:1124字 阅读:5分钟

铁柱的眼光很好,经营的两个快递网点盈利不错,再加上代收点又多一些收益。我们小区10栋楼,每栋楼一层都有一个菜鸟驿站,而且货架上的快递满满登登。说到数据库的查询,其实就像每天取件的人和快递网点的关系。

取快递的过程

还没下班就收到媳妇一条语音,到家后到3号楼取一个快递,取件码3-4-1005。

“取件”

“哪个快递的”

“申通”

这一回合,作为客户端和服务端的两个人建立了TCP的三次握手。这就是MySQL的连接器

注:MySQL分为客户端和服务端,使用:

mysql -h 192.168.10.10 -P 3306 -u root -p

命令建立连接,MySQL基于TCP层传输协议。TCP有一个timeout机制,而MySQL也有一个,默认连接是8小时,超过8小时会自动断开。 这个参数可以进行配置。


“您的取件码是多少?"

"3-4-1005"

”哦,您昨天给我打完电话,我就放在边上了,给您 “,

这一回合,快递员使用了缓存技术,因为上次查询过,这次就不用再去查,需要快递员有一个好记性并且容量要够。

缓存的设计本质是减少来回查找和取货的时间和消耗,也就是减少I/O,提高效率,但是数据库的更新太频繁,命中率太低,所以缓存机制在8.0版本后移除。


如果你在取件前打过电话

”您的取件码是多少“

“3-4-1005”

“好嘞,您买的是什么呀"

”一件衣服“

”申通快递?“

"是的”

分析和理解您的快递内容,并配合取件码,取件码的第1号位是货架号,第2位是层数,第3位是编号,按照这样格式的词法分析、语法分析、语义分析,构造执行树,生成执行计划,计划执行可以很快定位到快件, 这就是MySQL分析器和优化器,货物的摆放和分类就有很大的学问了,这就相当于MySQL中的存储引擎层。


“您的下单手机号”

“132****1234”

在正式交付快递时,再次对你的权限做验证。验证通过,MySQL就会根据引擎定义去使用引擎提供的接口。

MySQL的存储引擎最常用的就是InnoDB和MyISAM,还有Memory和Archive.


面试官可以怎么问

这个问题其实充其是一个引子,面试官接下来可能就会问你正式的问你:

1. SQL执行得很慢的原因有哪些

2. 给你一条SQL如何优化

3. 说说MySQL的索引

4. 说说MySQL为什么使用B+树做索引

5. 有ABC三个字段,怎么建立索引查询最快

6. 为什么删除数据,存储空间并没有减少

7.MySQL不走索引的情况有哪些

....

问题还有很多,后面希望我们可以用生活中的例子把数据库中的知识讲得通俗易懂。

PS:

今天是感恩节,希望你能对她说一声,“辛苦了,有你真好”


关注我,带你一起进化!

更多面试资料

文章转载自程序员进化,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论