一条 SQL 语句从客户端发到 Mysql 服务端,一共会经历哪些过程
#一人一道大厂面试题# #我的秋招日记#
当时脑子很懵,不知道要答哪些方向,后面面试官说了以后,没想到还能答这么多。
面试官答案:sql语句发送到我们这个服务器以后,他要去前面的什么验证啊,比如说什么账号的合法性、词法分析,这些我们都可以先不管,我们就举个例子,你的存储引擎,那你当前的这个表是用了什么样的存储引擎?他首先要选存储引擎,对吧?嗯,所以你的存储引擎这一块,那你这个社会语句到了存储引擎以后,我要走哪些索引?那我在什么什么什么场景下去分析我的是索引机制是怎么样的?我要查二级索引还是查一级索引?
还有就是我当前这个搜索语句有没有更新?或者有没有这种对的类似的,我要不要去加锁?要不要开启事务?这些其实都是在这个流程上的,对,所以本质上这一个问题,你这几个问题其实都能够串起来的哦。然后还有就是比如说有事务,那你在 MVCC 在这条链路上是怎么作用的?那什么时候写什么日志,对吧?就这一个问题,其实这几个点都包含了,其实是可以串起来回答
当时脑子很懵,不知道要答哪些方向,后面面试官说了以后,没想到还能答这么多。
面试官答案:sql语句发送到我们这个服务器以后,他要去前面的什么验证啊,比如说什么账号的合法性、词法分析,这些我们都可以先不管,我们就举个例子,你的存储引擎,那你当前的这个表是用了什么样的存储引擎?他首先要选存储引擎,对吧?嗯,所以你的存储引擎这一块,那你这个社会语句到了存储引擎以后,我要走哪些索引?那我在什么什么什么场景下去分析我的是索引机制是怎么样的?我要查二级索引还是查一级索引?
还有就是我当前这个搜索语句有没有更新?或者有没有这种对的类似的,我要不要去加锁?要不要开启事务?这些其实都是在这个流程上的,对,所以本质上这一个问题,你这几个问题其实都能够串起来的哦。然后还有就是比如说有事务,那你在 MVCC 在这条链路上是怎么作用的?那什么时候写什么日志,对吧?就这一个问题,其实这几个点都包含了,其实是可以串起来回答
全部评论
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享