explain你记得哪些字段,分别有什么含义

我们都知道用explain xxx分析sql语句的性能,但是具体从explain的结果怎么分析性能以及每个字段的含义你清楚吗?这里我做下总结记录,也是供自己以后参考。

  • 首先需要注意:MYSQL 5.6.3以前只能EXPLAIN SELECT; MYSQL5.6.3以后就可以EXPLAIN SELECT,UPDATE,DELETE

explain结果示例:

 

mysql> explain select * from staff;
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
|  1 | SIMPLE      | staff | ALL  | NULL          | NULL | NULL    | NULL |    2 | NULL  |
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
1 row in set

先上一个官方文档表格的中文版:

Column 含义
id 查询序号
select_type 查询类型
table 表名
partitions 匹配的分区
type join类型
prossible_keys 可能会选择的索引
key 实际选择的索引
key_len 索引的长度
ref 与索引作比较的列
rows 要检索的行数(估算值)
filtered 查询条件过滤的行数的百分比
Extra 额外信息

这是explain结果的各个字段,分别解释下含义:

1. id

SQL查询中的序列号。

id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行。

2. select_type

查询的类型,可以是下表的任何一种类型:

<
select_type 类型说明
SIMPLE 简单SELECT(不使用UNION或子查询)
PRIMARY 最外层的SELECT
UNION UNION中第二个或之后的SELECT语句
DEPENDENT UNION UNION中第二个或之后的SELECT语句取决于外面的查询
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: explain 的 type 字段包括:exact、approximate、relaxed、datetime、numeric、boolean、term、operator、null、unknown、text。 ### 回答2: 在"explain"的type字段中,有以下几种类型: 1. "index":用于解释如何将文档索引到特定的索引中。它提供了有关使用的分析器、过滤器以及字段中的词项的信息,以及如何计算相关性得分等。这对于了解查询匹配和搜索结果排序的原因非常有帮助。 2. "search":指示如何执行搜索查询并返回相关结果。它包含与查询条件匹配的文档的信息,包括评分和相关的解释因素。通过分析搜索的执行细节,可以更好地了解为什么某些文档被匹配或排名。 3. "fetch":提供与搜索结果中具体文档相关的详细信息,包括每个字段的内容和其他元数据。它显示了返回的文档是如何与原始源文档匹配的,并提供了用于显示或处理搜索结果的信息。 这些"type"字段的用法能够帮助开发人员和用户更好地理解和优化索引、查询和搜索操作,并从搜索引擎中获得更准确、相关的结果。 ### 回答3: 在"explain"指令中的"type"字段有以下几种类型: 1. "index"类型:用于显示查询的解析器和索引器的相关信息。它提供了关于如何解析查询并匹配文档的详细信息,包括使用了哪些字段、使用了什么分析器以及如何生成匹配项得分等。 2. "shard"类型:用于显示查询在分片层面上的执行情况。每个分片都有自己的执行计划和执行成本,这些信息可以帮助我们了解查询在每个分片上的执行情况,从而进一步优化查询性能。 3. "node"类型:用于显示查询在节点层面上的执行情况。它提供了每个节点上查询的执行计划和执行成本等信息,帮助我们了解查询在整个集群中的分布情况。 4. "profile"类型:用于显示查询的详细性能分析信息。它提供了查询的执行时间、执行过程中的各种开销以及相关的统计数据等。这些信息对于诊断和优化查询非常有用。 5. "none"类型:用于不显示任何解释信息,仅返回查询的结果。 这些"type"字段提供了不同层面和方式的查询解释和分析信息,可以帮助我们更好地了解和优化查询的执行情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值