暂无图片
explain 出来的各种 item 的意义是什么?
我来答
分享
小林同学
2023-12-08
explain 出来的各种 item 的意义是什么?

explain 出来的各种 item 的意义是什么?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
yBmZlQzJ

在 EXPLAIN 输出的执行计划中,包含了很多不同的 ITEM,这些 ITEM 代表了 SQL 语句在执行过程中涉及的不同操作和资源。以下是一些常见的 ITEM 及其意义:


  • table:表示查询涉及的表,并列出了表的名称和表的类型(例如,MyISAM、InnoDB 等)。
  • type:表示查询的类型,包括 SELECT、INSERT、UPDATE、DELETE 等。
  • possible_keys:表示查询可能使用的索引,如果没有合适的索引,则显示为 NULL。
  • key:表示实际使用的索引,如果没有使用索引,则显示为 NULL。
  • key_len:表示使用的索引的长度,单位为字节。
  • ref:表示查询中引用的列或常量,如果没有引用列或常量,则显示为 NULL。
  • rows:表示查询预计返回的行数,如果是一个聚合函数(例如 COUNT、SUM 等),则表示预计返回的行数。
  • filtered:表示使用的索引过滤掉的行数,如果为 100,则表示使用的索引过滤掉了 100%的行。
  • Extra:表示执行计划的额外信息,例如 Using index、Using filesort、Using temporary 等。


通过分析 EXPLAIN 输出的执行计划,我们可以确定查询的瓶颈,并优化查询语句。例如,如果发现查询使用了不合适的索引或者没有使用索引,我们可以优化索引策略,或者在查询语句中指定合适的索引。如果发现查询需要进行排序或者临时表操作,我们可以考虑对查询语句进行优化,例如使用存储过程、优化表结构等。

暂无图片 评论
暂无图片 有用 4
暂无图片
forever

https://blog.csdn.net/solihawk/article/details/120756584

如果看执行计划参考这个博客的,写的很详细,包括例子

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏