EXPLAIN 的理解

  
    EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作、以及MySQL成功返回结果集需要执行的行数。
    explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。
    explain 可以帮助我们分析 select 语句,让我们知道查询效率低下的原因,从而改进我们查询,让查询优化器能够更好的工作。
    

    id -----MySQL Query Optimizer 选定的执行计划中查询的序列号。表示查询中执行             select 子句或操作表的顺序,id 值越大优先级越高,越先被执行。id 相同,执行            顺序由上至下。


     select_type 查询类型
        SIMPLE - PRIMARY - UNION - DEPENDENT UNION -SUBQUERY -    DEPENDENT             SUBQUERY - DERIVED - UNCACHEABLE SUBQUERY - UNCACHEABLE UNION

     table  输出行所引用的表
        
     type 重要的项,显示连接使用的类型,按最 优到最差的类型排序
             system - const - eq_ref - ref - ref_or_null - index_merge -              unique_subquery - index_subquery - range - index -  all

        possible_keys   指出 MySQL 能在该表中使用哪些索引有助于 查询。如果为空,说明没                            有可用的索引。

     key    MySQL 实际从 possible_key 选择使用的索引。 如果为 NULL,则没有使用索引。        很少的情况 下,MYSQL 会选择优化不足的索引。这种情 况下,可以在 SELECT 语        句中使用 USE INDEX (indexname)来强制使用一个索引或者用 IGNORE INDEX        (indexname)来强制 MYSQL 忽略索引

    key_len      使用的索引的长度。在不损失精确性的情况 下,长度越短越好。

    ref    显示索引的哪一列被使用了

      rows   MYSQL 认为必须检查的用来返回请求数据的行数

     extra
         Using filesort 表示 MySQL 会对结果使用一个外部索引排序,而不是从表里按                索引次序读到相关内容。可能在内存或者磁盘上进行排序。                MySQL 中无法利用索引完成的排序操作称为“文件排序”

        Using temporary 表示 MySQL 在对查询结果排序时使用临时表。常见于排序                 order by 和分组查询 group by。

另一个  UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值