mysql中SQL语句的执行流程
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,今天就跟大家聊聊有关mysql中SQL语句的执行流程,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MySQL 都有哪些零件?连接器:管理连接,
千家信息网最后更新 2024年09月22日mysql中SQL语句的执行流程
今天就跟大家聊聊有关mysql中SQL语句的执行流程,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
MySQL 都有哪些零件?
- 连接器:管理连接,权限验证。
- 分析器:词法分析,语法分析。
- 优化器:执行计划生成,索引选择。
- 执行器:操作存储引擎,返回结果。
存储引擎:存储数据,提供读写接口。
连接器
第一步,我们会先连接到 MySQL 数据库,此时就是连接上连接器。连接器负责和客户建立连接,获取权限,维持和管理连接。
mysql -h $ip -u root -p
查询缓存
建立好连接之后,我们就可以使用 SELECT 语句了,执行逻辑就会来到第二步:查询缓存。MySQL 会现在查询缓存看看之前是不是执行过这条语句,如果有就直接返回。在 MySQL 8.0 之后,此模块已被移除。
分析器
如果没有查询缓存,从这里 MySQL 就要开始分析我们要干什么,需要对我们编写 SQL 语句进行分析。分析器会先做词法分析,识别出字符串以及它代表的含义。然后再进行语法分析,判断我们编写的 SQL 语句有没有错误,如果有错误就会抛出错误。
优化器
经过了分析器之后,MySQL 知道你要干什么了,此时优化器会根据表结构以及语句目的来决定使用哪个方案。
执行器
MySQL 通过分析器知道了我们要做什么,通过优化器知道了该怎么做效率最高。于是就可以进入执行器,真正执行 SQL 语句了。
select * from users where name = 'operator'
假设 users 表中,name 字段上没有建立索引,那么执行器调用 InnoDB 引擎接口取第一行,判断 name 是不是等于 operator,如不是则跳过,如果是就放在结果集中。然后再调用引擎接口取下一行,重复相同的逻辑判断,直到取到这个表的最后一行。最后将结果集返回给客户端。
看完上述内容,你们对mysql中SQL语句的执行流程有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
分析
语句
分析器
引擎
缓存
连接器
执行器
查询
一行
内容
接口
结果
错误
存储
流程
客户
数据
权限
索引
词法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器关电
多人在线交互服务器
信息化及网络安全试题及答案
普吉岛天气预报软件开发
达梦数据库默认角色
sql数据库表可以改名吗
智能设备和软件开发哪个好
linux服务器镜像导出
广德新能源软件开发服务调试
深圳市韦斯网络技术有限公司
浙江通用软件开发进货价
网络安全绘画作品8k纸一等奖
因为专注软件开发
黑魂服务器什么时候
谷歌 用什么数据库
从0开始软件开发的方式
眉山软件开发工资多少
苏州安卓软件开发大概要多少钱
simcity服务器
网络技术折页设计图
互联网金融科技感海报
防校园网络安全讲稿
ea服务器ip地址
美国农业部食品数据库
轨行区调度系统软件开发
秦淮数据库灵丘
软件开发年终报告开头
河北中学生网络安全知识竞赛
vc访问数据库
计算机网络技术论文怎么生成