• MySQL EXPLAIN


    MySQL explain结果字段解释

    在执行select语句前 加上 explain,可以获取对这条sql语句的解析,根据解析的内容,我们可以更清晰的了解sql的具体执行情况,从而可以有针对性的去优化。

    1. id

    id是执行本条select语句的序号,序号为sql语句的执行顺序。
    比如 带有子查询的语句 EXPLAIN SELECT * FROM (SELECT * FROM A)

    2. select_type

    select类型, 有一下几种值

    1. simple 表示最简单的select
    2. primary 表示最外层的select,
    3. union 表示union 右边的select
    4. dependent union UNION中的第二个或后面的select语句
    5. union result union的结果
    6. 其他

    3. table

    表示所查询的表

    4. type

    type显示的是访问类型,是较为重要的一个指标,结果值从好到坏依次是:system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
    一般来说,得保证查询至少达到range级别,最好能达到ref。

    1. system
      表仅有一行,这是const类型的特例,平时不会出现
    2. const
      表最多有一个匹配航,const用于比较primary key 或者unique索引。因为只匹配一行数据,所以很快
      一定要用到primary key 或者unique 并且质检所出两条数据的情况下才会是const 。???
    3. eq_ref
    4. ref
    5. ref_or_null
    6. index_merge
    7. unique_subquery
    8. index_subquery
    9. range
      给定范围内的索引,使用一个索引来检查行
    10. index

    5. possible_keys

    提示使用哪个索引会在该表中找到行

    6. keys

    MySQL使用到的索引

    7. ken_len

    MySQL使用到的索引的长度

    8. ref

    ref列显示使用哪个列或常数与key一起从表中选择行

    9. rows

    显示mysql 执行查询的行数

    10. Extra

    该列包行MySQL解决查询的详细信息

    1. Distinct
    2. Not exists
    3. range checked for each record
    4. using filesort
    5. using index
    6. using temporary
    7. using where
    8. Using sor_union(...),Using union(...),Using intersect(...)
    9. Using index for group-by

    https://blog.csdn.net/zhuxineli/article/details/14455029

  • 相关阅读:
    C#读写者线程(用AutoResetEvent实现同步)(转载)
    详解大端模式和小端模式(转载)
    C/C++程序员应聘试题剖析(转载)
    strcpy和memcpy的区别(转载)
    基于mini2440的Qt移植
    分布式服务以及跨平台开发清单(全栈之路)
    软件开发模式对比(瀑布、迭代、螺旋、敏捷)
    大数开方 ACM-ICPC 2018 焦作赛区网络预赛 J. Participate in E-sports
    啊啊
    括号问题
  • 原文地址:https://www.cnblogs.com/magicya/p/10290060.html
Copyright © 2020-2023  润新知