如何理解MySQL的执行计划

mysql的查看执行计划的语句很简单,explain+你要执行的sql语句就OK了。举一个例子 EXPLAIN SELECT * from employees where employees.gender='M'返回的结果如下:这些结果都代表什么?id是一组数字,表示查询中执行select子句或操作表的顺序。如果id相同,则执行顺序从上至下。如果是子查询,id的序号会递...
如何理解MySQL的执行计划
mysql的查看执行计划的语句很简单,explain+你要执行的sql语句就OK了。
举一个例子
EXPLAIN SELECT * from employees where employees.gender='M'
返回的结果如下:

这些结果都代表什么?
id是一组数字,表示查询中执行select子句或操作表的顺序。
如果id相同,则执行顺序从上至下。
如果是子查询,id的序号会递增,id越大则优先级越高,越先会被执行。
id如果相同,则可以认为是一组,从上往下顺序执行,所有组中,id越高,优先级越高,越容易执行。
selecttype有simple,primary,subquery,derived(衍生),union,unionresult。
simple表示查询中不包含子查询或者union。
当查询中包含任何复杂的子部分,最外层的查询被标记成primary。
在select或where列表中包含了子查询,则子查询被标记成subquery。
在from的列表中包含的子查询被标记成derived。2017-12-01
mengvlog 阅读 8 次 更新于 2025-07-20 06:55:21 我来答关注问题0
  •  翡希信息咨询 MySQL执行计划【explain】,看这一篇就够了!

    MySQL执行计划的解读:MySQL的EXPLAIN命令用于获取SELECT语句的执行计划,通过该计划可以深入了解查询的执行细节,从而进行优化。EXPLAIN执行计划主要包含以下字段信息:id:表示查询中执行SELECT子句或操作表的顺序。id值越大,代表优先级越高,越先执行。select_type:表示SELECT查询的类型。用于区分普通查询、联...

  •  翡希信息咨询 【MySQL进阶之路】通过实操理解 explain 执行计划

    当存在多个执行计划时,表示访问了多个表。MySQL 会以数据量较小的表作为驱动表进行连表查询,以减少比较的行数。UNION 操作:UNION:对两张表的结果进行合并去重。UNION ALL:对两张表的结果进行合并,但不去重。通过解读 MySQL 的 explain 执行计划,可以深入了解 SQL 查询的执行过程,从而进行性能调优...

  •  翡希信息咨询 MySQL-Explain执行计划

    MySQL的EXPLAIN执行计划是用于模拟优化器执行SQL查询语句,以了解MySQL处理SQL的方式的工具。执行计划提供了关于查询的多个关键信息,以下是对MySQLExplain执行计划的详细解析:表的读取顺序:通过EXPLAIN语句的输出,可以查看查询中涉及的各个表的读取顺序。数据读取操作的操作类型:EXPLAIN输出中的type列显示了单...

  •  武汉誉祥科技 如何看MYSQL的SQL执行计划吗?用explain吗?怎么看MYSQL的执行计划具体是怎么意思呢?

    使用explain命令时,MySQL会详细解析其如何处理SELECT语句,从而提供有关表连接方式及其执行顺序的信息。这有助于理解查询在数据库中的执行流程。通过explain,你可以检查索引是否被正确应用。正确应用索引可以显著提高查询效率。如果发现索引未被使用,可能需要重新考虑索引的构建策略或调整SQL语句。解释执行计划对...

  •  文暄生活科普 【MySQL进阶之路】通过实操理解 explain 执行计划

    执行计划如下:id = 1 表示此 SQL 语句的唯一标识。select_type 值为 SIMPLE,意味着这是一个简单的查询,不涉及子查询或 union 等操作。table 指明了操作的表。type = index 表明对二级索引的叶子节点进行了扫描,由于 test1 表只有 id 和 name 两个字段,且在 name 列上建立了索引,故只需扫描...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部