sql执行过程

简介: 还在等什么,快来一起讨论关注吧,公众号【八点半技术站】,欢迎加入社群

流程图:

image.png

连接器

连接器与客户端建立连接、获取权限、维持和管理连接。

查询缓存(MySQL8.0后将会删除该功能 )

  • 如果在缓存中查找到,则回直接返回给客户端。
  • 如果没有找到记录,继续执行后面的操作,并将该语句与结果分别以key-value存入内存。

将query_cache_type 设置为 DEMAND,默认SQL不使用查询缓存,针对需要查询缓存的语句,使用SQL_cache显示指定,例如:select SQL_CACHE * from T where ID = 10;

分析器

  1. 词法分析
  2. 语法分析

根据语法规则判断是否符合SQL的语法。如果出现错误,则提示:"You have an error in your SQL syntax...",后面是错误的地方,需要你关注"use naer"后的内容。

优化器

  1. 当涉及到多个索引时,决定用哪个索引
  2. 多表关联时,决定连接顺序

执行器

真正的执行步骤,根据连接器取到的权限判断,是否对表T有权限。

  • 若有权限,打开表继续操作。打开表后,根据表的引擎定义,使用引擎提供的接口。
相关文章
|
6月前
|
SQL 缓存 关系型数据库
执行一个SQL,MySQL内部的执行过程是什么?
执行一个SQL,MySQL内部的执行过程是什么?
57 0
|
6月前
|
SQL Java 数据库连接
日志输出-查看 SQL:深入分析 MyBatis 执行过程
日志输出-查看 SQL:深入分析 MyBatis 执行过程
240 0
|
6月前
|
SQL 数据库 数据库管理
一条SQL语句的执行过程
一条SQL语句的执行过程
|
存储 SQL 缓存
MySQL 中一条 SQL 查询语句的执行过程
`SELECT id FROM table_a where id = 10` 这条 SQL 从执行到最后结果返回你知道都经历了哪些步骤么?
MySQL 中一条 SQL 查询语句的执行过程
|
SQL 缓存 Java
MyBatis核心源码深度剖析SQL执行过程
MyBatis核心源码深度剖析SQL执行过程
52 0
|
6月前
|
SQL 存储 缓存
【SQL】Mysql中一条sql语句的执行过程
【SQL】Mysql中一条sql语句的执行过程
84 0
|
6月前
|
SQL 关系型数据库 MySQL
|
SQL Java 关系型数据库
hive中 sql执行过程
hive中 sql执行过程
122 0
|
SQL 存储 缓存
一条查询SQL的执行过程
一条查询SQL的执行过程
118 1
|
SQL 存储 缓存
一条SQL的执行过程
一条SQL的执行过程
151 0

热门文章

最新文章