MySQL中的explain某个查询语句后的结果解释

作用:可以用于查看一个查询语句的执行计划。执行计划显示了MySQL优化器在执行查询时使用的算法和顺序,以及每个步骤所需的资源和时间

EXPLAIN返回的执行计划包括以下列:

  • id: 查询中每个操作步骤的唯一标识符。如果查询是复杂查询,则id值越大的步骤表示越深入嵌套的子查询。
  • select_type: 操作类型,例如SIMPLE(简单查询)、PRIMARY(最外层查询)等。
  • table: 表名。
  • partitions: 用于检索行的分区列表。
  • type: 连接类型,包括system、const、eq_ref、ref、range、index、all等。这是一个性能评估指标,性能从左向右递减。
  • possible_keys: MySQL可以使用的索引列表。
  • key: 实际使用的索引。
  • key_len: 使用索引的长度。
  • ref: 显示索引如何与表中的某一列相匹配。
  • rows: 预计要扫描的行数。
  • filtered: 按照WHERE条件过滤后留下的行数占总行数的比例。
  • Extra: 包含其他信息,例如使用临时表、文件排序等。

其中,type列是最重要的列之一。根据查询所使用的连接类型,可以确定查询性能。以下是type列可能出现的值:

system:只有一行记录的表。
const:通过索引一次查找一行数据。
eq_ref:使用唯一索引查找相关的行。
ref:使用非唯一索引查找相关的行。
range:使用索引查找一定范围内的行。
index:完全扫描索引,而不是从数据文件中读取行。
all:完全扫描表,而不是使用索引。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值