Mysql中sql执行的过程

18 篇文章 1 订阅

在这里插入图片描述

1、客户端和服务器建立连接,发送请求

2、服务器先检查查询缓存。如果在查询缓存中发现了该sql,则会进行权限校验,权限校验通过,直接返回结果。如果查询缓存中没有,则进入下面的步骤(对应查询缓存这一过程,8.0这一过程已经不存在了,8.0完全抛弃了这个功能)

3、服务器对sql进行解析。识别出sql里面的字符串是否符合标准,比如select关键字不能写错。识别出sql里面的字符串的具体意思是什么,比如T1是表名,C1是列名(对应解析器这一过程)

4、服务器对sql进行预处理。确定sql的执行路径,比如走索引还是全表,多表连接时哪张表先走哪张表后走

5、服务器对sql进行查询优化。当你的where条件的可读性和效率有冲突时mysql内部还会自动进行优化,也就是大家理解的重写where子句。计算各项查询方法的成本、生成对应的执行计划(对应优化器这一过程)

6、服务器调用存储引擎的API来执行该sql语句,并将结果发送给客户端(对应执行器这一过程)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值