阅读转发网站那些做的比较好,安阳县面积,泰安网站开发推广,wordpress 搜索自定义字段目录
mysql架构查询执行流程
图解
描述 mysql架构查询执行流程 图解 描述 用户连接到数据库后#xff0c;由连接器处理 连接器负责跟客户端建立连接、获取权限、维持和管理连接 客户端发送一条查询给服务器 服务器先检查查询缓存#xff0c;如果命中缓存#xff0c;则立…目录
mysql架构查询执行流程
图解
描述 mysql架构查询执行流程 图解 描述 用户连接到数据库后由连接器处理 连接器负责跟客户端建立连接、获取权限、维持和管理连接 客户端发送一条查询给服务器 服务器先检查查询缓存如果命中缓存则立即返回存储在缓存中的结果 ; 否则进入下一阶段 服务器进行SQL解析、预处理得到解析树 分析器主要有两步: 词法分析和语法分析 ; 预处理器根据mysql规则检查解析树是否合法语法解析器和预处理mysql通过关键字将sql语句进行解析并生成一颗对应的 “解析树” 由优化器生成对应的执行计划这个过程中任何语法等错误都可能终止查询 优化器是在表里面有多个索引的时候决定使用哪个索引 / 在一个语句有多表关联的时候决定各个表的连接顺序 mysql通过分析器知道了你要做什么通过优化器知道了该怎么做于是就进入了执行器阶段开始执行语句 开始执行的时候要先判断一下你对这个表有没有执行查询的权限如果没有就会返回没有权限的错误如果有权限mysql根据优化器生成的执行计划调用存储引擎的 API 来执行查询 最后将结果返回给客户端并且会将结果存放到查询缓存中 参考 -- MySQL 查询执行的过程 - Java程序员进阶 - 博客园