MySQL中SQL语句执行流程是怎么样的

技术MySQL中SQL语句执行流程是怎么样的这篇文章主要介绍MySQL中SQL语句执行流程是怎么样的,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!总的来说,MySQL逻辑架构可以分为server层

本文主要介绍了MySQL中SQL语句的执行过程,非常详细,具有一定的参考价值。感兴趣的朋友一定要看!

一般来说,MySQL的逻辑架构可以分为两部分:服务器层和存储引擎层。本文记录了SQL语句的执行过程,主要发生在服务器层。

服务器层主要包括MySQL数据库的大部分功能。毕竟,大部分SQL执行都是在这个层实现的。这一层可以细分为:查询缓存(简称QC),解析器也可以称为分析器、预处理器(其实也可以属于分析器)、查询优化器等等。

存储引擎层的主要工作是存储和提取数据。存储引擎的主要类型有InnoDB、MyISAM、tokuDB等。它们的区别如下:

MySQL中SQL语句执行流程是怎么样的

在InnoDB和MyISAM这两个存储引擎中,InnoDB目前应用比较广泛,而MyISAM在8.0版本之后因为不支持事务和行锁而被完全放弃。从MySQL 5.5版本开始,InnoDB成为MySQL数据库的默认存储引擎。

先下结论吧。从客户端发起一条SQL语句后,它会转到MySQL数据库,然后转到查询缓存,再转到解析器和查询优化器,执行该语句的操作就完成了,结果会从存储引擎中检索出来并返回给客户端。

一、连接验证权限。

连接MySQL主要有两种方式,一种是从服务器本地发起,通过root用户使用socket登录,另一种是从客户端发起,属于远程连接。一般来说,远程连接到数据库通常需要几个输入元素:用户名、密码、端口号和IP地址。

首先要验证的是密码是否正确,当前用户是否有权限在当前IP登录等。登录完成后,登录用户将拥有当前分配给他的权限(添加、删除、更改和检查等)。).

第二,查询缓存。

上一步验证完成后,SQL执行会来到查询缓存,查看SQL语句是否已经执行,SQL执行结果是否缓存。如果是,结果将直接取出并返回给客户。如果没有,将进行下一次查询。

不可否认,如果我们每次都能在查询缓存中得到数据,这个效率是非常高的。但是对于实际应用中,并不建议使用查询缓存。,来说,因为查询缓存只能用于静态数据,不能用于动态数据,所以缓存好的数据是很有可能的,其中有些表已经更新了,一下子缓存的数据就被清空了。然而,在8.0版本之后,这个功能被完全放弃了。在8.0版本之前,一般建议关闭查询缓存功能。

第三,解析器。

如果第二步的查询缓存没有被获取或者命中,会先进行SQL解析,包括语法和语义解析:是查询还是更新,语句写得是否正确等。将生成一个解析树并提交到下一步。

第四,预处理器(事实上,它也可以包含在解析器中)

对第三步分析的解析树进行预处理,会比第三步做出更深刻的判断,比如表/列是否存在,会把解析树处理成更平衡的树结构。

动词(verb的缩写)查询优化器

预处理之后,我来到查询优化器,在这里我决定取哪个索引,将之前的平衡树转换成执行计划,并选择一个数据库认为最适合SQL执行的执行计划。

不及物动词SQL执行

从存储引擎层检索所需的数据并返回给客户端。此时,过程结束。

以上就是《MySQL中的SQL语句执行过程如何》一文的全部内容感谢阅读!希望分享的内容对大家有帮助,有更多相关知识。欢迎关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/50262.html

(0)

相关推荐

  • 如何进行Oracle监听器日志的解析

    技术如何进行Oracle监听器日志的解析如何进行Oracle监听器日志的解析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。///////////////

    攻略 2021年11月30日
  • 13. 罗马数字转整数

    技术13. 罗马数字转整数 13. 罗马数字转整数罗马数字包含以下七种字符:I,V,X,L,C,D和M。
    字符 数值
    I 1
    V 5
    X

    礼包 2021年12月2日
  • window performance各字段的含义是什么

    技术window performance各字段的含义是什么本篇内容主要讲解“window performance各字段的含义是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习

    攻略 2021年11月12日
  • 从SQL到NoSQL7种比较查询语言的指标分别是什么

    技术从SQL到NoSQL7种比较查询语言的指标分别是什么从SQL到NoSQL7种比较查询语言的指标分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望

    攻略 2021年11月30日
  • 如何深入Tomcat源码分析Session

    技术如何深入Tomcat源码分析Session如何深入Tomcat源码分析Session,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Session到底

    攻略 2021年12月8日
  • 支付宝怎么交违章罚款,2021支付宝怎么交违章停车

    技术支付宝怎么交违章罚款,2021支付宝怎么交违章停车1、下载交管12123APP,用车主身份证注册,进去后可以看到车主身份证下所有车辆的情况支付宝怎么交违章罚款。按照说明一步步走下去就可以了。
    2、上支付宝,找到更多,

    生活 2021年10月22日