一文读懂一条 SQL 查询语句是如何执行的( 五 )
举个例子:
mysql> select * from t1 where id = 10;
假设我们使用默认的 InnoDB 引擎 , 则执行器的执行流程大概是这样的(注意 , 如果 id 不是索引则会进行全表扫描 , 一行一行的查找 , 如果是索引则会在索引组织表中查询 , 比较负责 。 这里以非索引举例):
1)调用 InnoDB 引擎接口获取这个表的第一行记录 , 判断 id 值是不是 10 , 如果是则将这行记录存在一个集合中;如果不是则进入下一行的判断 , 直到取到这个表的最后一行
2)执行器将上述遍历过程中所有满足条件的行组成的记录集作为结果返回给客户端
文末放一张《高性能 MySQL - 第 3 版》中的图片 , 总结下一条查询语句的执行过程:
本文插图
【一文读懂一条 SQL 查询语句是如何执行的】
- MySQL 客户端与服务器间建立连接 , 客户端发送一条查询给服务器;
- 服务器先检查查询缓存 , 如果命中了缓存 , 则立刻返回存储在缓存中的结果;否则进入下一阶段;
- 服务器端进行 SQL 解析、预处理 , 生成合法的解析树;
- 再由优化器生成对应的执行计划;
- MySQL 根据优化器生成的执行计划 , 调用相应的存储引擎的 API 来执行 , 并将执行结果返回给客户端 。
- |100篇文章带你读懂元宇宙: 元宇宙到来市场空间会增大吗?
- oppo reno|星雨心愿版OPPO Reno7 Pro有多好看?一文图赏探秘,这后盖很神仙
- 象牙|100篇文章带你读懂元宇宙: 元宇宙在未来会经历哪两个阶段?
- roblox|100篇文章带你读懂元宇宙: 争议的产品哪些具有元宇宙属性?
- AR|100篇文章带你读懂元宇宙:元宇宙拥有哪6大准则?
- 欧洲|清华元宇宙深度报告!理论框架产业真相一文看懂,揭秘十大风险 | 智东西内参
- 短视频|什么是能被记住的广告?100个知识点读懂品牌营销(三)
- 刘慈欣|万物皆可元宇宙?一文读懂元宇宙到底是个啥
- |轻松读懂ADC药物抗肿瘤作用机制
- 华为|营销的终极意义是?100个知识点读懂品牌营销(二)