03-MySQL explain
简述 MySQL 的执行计划 explain
详细可参考:https://blog.csdn.net/fenglepeng/article/details/103392319
- 语法:
explain + SQL语句
- 作用:SQL在数据库中执行时的表现情况,通常用于SQL性能分析,优化等场景。
- 示例:
explain select * from rbac_userinfo where id=1;
执行计划是指一条 SQL 语句在经过 MySQL 查询优化器的优化会后,具体的执行方式。
EXPLAIN
并不会真的去执行相关的语句,而是通过 查询优化器 对语句进行分析,找出最优的查询方案,并显示对应的信息。
EXPLAIN
适用于 SELECT
、DELETE
、INSERT
、REPLACE
、UPDATE
语句,我们一般分析 SELECT
查询较多。
EXPLAIN
的输出格式如下:
1 |
|
各个字段的含义如下:
列名 | 含义 |
---|---|
id | SELECT 查询的序列标识符 |
select_type | SELECT 关键字对应的查询类型 |
table | 用到的表名 |
partitions | 匹配的分区,对于未分区的表,值为 NULL |
type | 表的访问方法 |
possible_keys | 可能用到的索引 |
key | 实际用到的索引 |
key_len | 所选索引的长度 |
ref | 当使用索引等值查询时,与索引作比较的列或常量 |
rows | 预计要读取的行数 |
filtered | 按表条件过滤后,留存的记录数的百分比 |
Extra | 附加信息 |
怎么验证 MySQL 的索引是否满足需求?
使用 explain 查看 SQL 是如何执行查询语句的,从而分析你的索引是否满足需求。
03-MySQL explain
https://flepeng.github.io/interview-41-数据库-41-MySQL-03-MySQL-explain/