SQL语句执行流程
2021/9/14 19:08:38
本文主要是介绍SQL语句执行流程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 客户端执行sql语句 (在此之前会先进行用户名密码的连接,会去进行mysql的校验,详情查看mysql运行流程)
2.sql语句会进入到命令分发器
2. sql语句在进行mysql服务器进行查询缓存,查询以sql语句作为记录,以语句作为key,结果作为value
假如当前的查询语句为“select count(*) from table_name” , 开启查询缓存后,回去查询当前这条语句是否存在,存在检查用户是否有权限访问内容(类似rbac操作),有权限返回结果(如果语句内有空格,匹配不上,会导致查询缓存失效)
3. 命令解析器,会对sql语句进行解析,生成一个解析树,判断你是什么类型的操作(查询优化器select ,表变更(增删改)dml,表维护ddl,复制模块rep,状态模块status)
4. 假如你是一条“select count(*) from table_name where id=1 and age > 10” 这样的操作,查询优化器会将“where id=1 and age > 10”条件取出来,根据自己的规则算法匹配查询,存在一个扫描区,会一直对磁盘进行扫描,找到对应的磁盘页数据内容
5. 返回数据
sql优化,指的也就是对磁盘的i/o操作次数和优化器的执行时间,不是i/o的操作速度(充钱解决)
这篇关于SQL语句执行流程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-0601-电商商品中心解密:仅凭SKU真的足够吗?
- 2024-05-01为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能