MySQL:透彻研究通过explain命令得到的SQL执行计划
2021/12/26 19:07:28
本文主要是介绍MySQL:透彻研究通过explain命令得到的SQL执行计划,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
我们知道每条SQL语句,MySQL都会经过成本和规则的优化,对这个SQL选中对应的一些访问方法和顺序,包括做一些特殊的改写确保执行效率是最优的,然后优化过后,就会得到一个执行计划。
所谓的执行计划,落实到底层,无非是先访问哪个表,用哪个索引还是全表扫描,拿到数据之后如何去聚簇索引回表,是否要基于临时磁盘文件做分组聚合或者排序。
平时我们只要用类似于:explain select * from table,这种SQL前面加一个explain命令,就可以轻松拿到这个SQL语句的执行计划。比如:
id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra
|±—±------------±------±-----------±-----±--------------±-----±--------±-----±-----±---------±---------------+|
1 | SIMPLE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | No tables used |
所谓的id、select_type、table、partitions、type之类的东西了吗,其实这些就是所谓的执行计划:
- id:每个select都会对应一个id,一个复杂的SQL里可能会有多个SELECT,也可能会包含多条执行计划,每一条执行计划都会有唯一的id
- select_type:就是这一条执行计划对应的查询是个什么类型
- table :表名,表示要查询哪个表
- partitions :表分区
- type:这个比较关键,表示针对这个表的访问非法,比如const、ref、range、index、all
这篇关于MySQL:透彻研究通过explain命令得到的SQL执行计划的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-19Mysql安装教程:新手必看的详细安装指南
- 2024-11-18Mysql安装入门:新手必读指南
- 2024-11-18MySQL事务MVCC原理入门详解
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南