美文网首页
Mysql - 一条sql的基本执行流程

Mysql - 一条sql的基本执行流程

作者: 一点温柔 | 来源:发表于2021-05-20 16:44 被阅读0次

一、前置条件

在理解sql执行流程之前,需要先了解一下mysql的基本架构及常用组件功能,可以参考https://www.jianshu.com/p/ac140e8549fd

二、sql执行的基本步骤

sql的执行过程一般会通过客户端和服务端,因此在大面上分为

1、建立连接
如何建立连接?

a. 客户端通过mysql指令发起建立连接的请求

b. 通过3次握手后与mysql服务端建立连接

c. 服务端连接器收到请求后验证用户名、密码进行身份验证、鉴权,如果验证通过,那么服务端连接器将会缓存身份信息、鉴权信息,之后该连接的sql执行都是基于当前缓存中的权限信息执行

2、执行sql

a. 客户端发起sql执行请求。

b. 服务端通过连接器接受到sql执行请求,传递给查询缓存。

c. 请求经过查询缓存,如果有命中缓存,那么直接返回缓存结果(以sel开头的sql语句才会经过查询缓存。mysql8.0取消了查询缓存)。

d. 查询缓存没有命中,那么说明本次sql还需要继续执行,因此就要对sql进行解析,看看sql语法、词法是否合法,分析器就是干这个事儿的,所以此时就到了分析器了,分析器除了对sql的语法、词法进行分析外,同时也会生成sql id,如果sql不合法,那么就会终止sql执行,将异常结果返回给客户端。如果合法,那么就会将请求传递给优化器。

e. 优化器拿到分析器的sql后,会对sql进行优化,选择索引、重写查询,同时生成sql执行计划。将sql交给执行器。

f. 执行器拿到sql之后,通过表设置的存储引擎,调用存储引擎提供的读写接口由存储引擎执行sql,存储或查询数据,最后返回执行结果。

未完待续.....

相关文章

  • MySQL源码分析之SQL函数执行

    1.MySQL中执行一条SQL的总体流程 2.SQL函数执行过程 1.MySQL中执行一条SQL的总体流程 一条包...

  • 01-SQL语言

    一、MySQL发送SQL请求执行流程MySQL发送SQL请求执行流程.png 1、客户端发送一条给 2、MySQL...

  • mysql常用命令

    基本流程 连接MySQL 选择数据库 执行SQL语句 退出关闭 1. 连接mysql mysql -u root ...

  • 这半年时间学Mysql的总结

    一条sql语句的执行流程 select * from t where id=1 1.mysql执行一条查询语句的流...

  • Mysql - 一条sql的基本执行流程

    一、前置条件 在理解sql执行流程之前,需要先了解一下mysql的基本架构及常用组件功能,可以参考https://...

  • MySQL基础

    MySQL查询执行过程 一条SQL语句执行的流程如下: 客户端连接 MySQL 服务器,发布查询 如果查询缓存中有...

  • mysql小知识整理

    1 mysql执行流程 执行mysql,首先你要获取到mysql一个连接,建立连接之后,开始正式sql语句流程:首...

  • Java面试一日一题:请讲下对mysql的理解

    问题:请讲下对mysql的理解 分析:该问题主要考察对mysql的理解,基本概念及sql的执行流程 回答要点: 主...

  • 京东资深架构师深度解析《 MySQL 实战 》

    基础架构:一条 SQL 查询语句是如何执行的? MySQL 的基本架构示意图: MySQL 可以分为 Server...

  • mysql基础——sql 执行流程

    内容 一条sql查询语句如何执行 一条sql更新语句如何执行 一 1条sql查询语句如何执行 1.1 执行流程例如...

网友评论

      本文标题:Mysql - 一条sql的基本执行流程

      本文链接:https://www.haomeiwen.com/subject/fxavjltx.html