SQL语句执行的具体步骤是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1648个文字,预计阅读时间需要7分钟。
一条SQL查询语句是如何执行的?SQL查询语句`SELECT * FROM user WHERE ID=10;`在MySQL中的基本架构可以分为Server层和存储引擎两部分。Server层包含连接器、查询缓存、分析器、优化器和执行器。
一条 SQL 语句是如何执行的 SQL查询语句select * from user where ID=10;
MySQL 的基本架构可以分为 Server 层和存储引擎两部分。Server 层又包含连接器、(查询缓存)、分析器、优化器和执行器。
连接器:连接器负责和客户端建立连接、获取权限、维持和管理连接。
查询缓存:建立连接后可以执行 SELECT 语句,执行逻辑来到第二步查询缓存。
MySQL 拿到查询请求后,会先到查询缓存中查看,是不是之前执行过的语句。查询缓存的存储形式是 key-value 形式,key是查询语句,value是查询结果。如果在缓存中则直接返回,不在缓存中则执行后续步骤,将结果放到缓存中。但不建议使用查询缓存,因为只要有对一个表的更新,这个表上的所有查询缓存都会被清空,因此很大的可能是把结果缓存起来之后,还没来的及用,就被清空了,利大于弊。MySQL8.0 彻底删除了查询缓存。
分析器:先进行词法分析在进行语法分析。
- 词法分析:MySQl 要识别出你输入的这条语句里的字符串分别是什么,代表什么。
本文共计1648个文字,预计阅读时间需要7分钟。
一条SQL查询语句是如何执行的?SQL查询语句`SELECT * FROM user WHERE ID=10;`在MySQL中的基本架构可以分为Server层和存储引擎两部分。Server层包含连接器、查询缓存、分析器、优化器和执行器。
一条 SQL 语句是如何执行的 SQL查询语句select * from user where ID=10;
MySQL 的基本架构可以分为 Server 层和存储引擎两部分。Server 层又包含连接器、(查询缓存)、分析器、优化器和执行器。
连接器:连接器负责和客户端建立连接、获取权限、维持和管理连接。
查询缓存:建立连接后可以执行 SELECT 语句,执行逻辑来到第二步查询缓存。
MySQL 拿到查询请求后,会先到查询缓存中查看,是不是之前执行过的语句。查询缓存的存储形式是 key-value 形式,key是查询语句,value是查询结果。如果在缓存中则直接返回,不在缓存中则执行后续步骤,将结果放到缓存中。但不建议使用查询缓存,因为只要有对一个表的更新,这个表上的所有查询缓存都会被清空,因此很大的可能是把结果缓存起来之后,还没来的及用,就被清空了,利大于弊。MySQL8.0 彻底删除了查询缓存。
分析器:先进行词法分析在进行语法分析。
- 词法分析:MySQl 要识别出你输入的这条语句里的字符串分别是什么,代表什么。

