八股文打卡day26——数据库(3)

面试题:一条SQL查询语句是如何执行的呢?

我的回答:

根据MySQL的逻辑架构,从上到下分别是:
1.连接器,连接器会建立与服务器的连接,获取权限、维持和管理连接。
2.MySQL8.0之前,会查询是否缓存命中。因为MySQL8.0之前,之前执行过的SQL查询语句会以key-value键值对的形式缓存到内存中。如果之前存在,就会直接返回结果,不会再次执行查询。MySQL8.0之后,由于存在缓存失效和维护成本,所以将查询缓存的功能移除了。
3.分析器,一条SQL查询语句就是一个字符串,是由各个单词和空格组成的。分析器分为词法分析和语法分析。词法分析就是将SQL语句这个字符串分解为每个单词。语法分析就是会检查各个单词的拼写以及符号是否正确等语法问题。
4.优化器,优化器会根据成本选择一个最优的执行计划。比如说:一个SQL查询语句有多个索引的话,会选择哪个索引;会选择表的连接顺序等。
5.执行器,执行器会根据优化器选择的执行计划,执行SQL语句。执行之前会进行权限检查,检查通过便会调用存储引擎的API来执行实际的数据操作。

回答时间:2024.03.02

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值