• MySQL中的执行计划explain


    一、用法及定义:

      explain为sql的执行计划、在sql前面加上explain关键字即可

    如:explain select * from tbl_emp;

    名词解释:

      id:【操作表的顺序】

        1.id相同,表的执行顺序从上往下依次执行

        2.id不同,id越大的越先执行

        3.id相同和不同的一起,越大的先执行,然后再按顺序从上往下依次执行

      select_type:查询类型【区分简单查询,子查询,联合查询】

        一般有:SIMPLE[最简答的sql查询],PRIMARY[查询中若包含任何复杂的子查询,最外层查询则被标记],

            SUBQUERY[在select或where列表中包含子查询]

            UNION

            ............. 

      type:访问类型【最好到最差】

          system > const > eq_ref > ref > range > index> ALL

          

                            一般达到range级别就好,最好达到ref

      possible:显示可能应用到这张表的索引,一个或者多个;查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询实际使用。

          简单说:MySQL推测,理论上可能用到的索引,但不一定被查询实际使用

      key:查询实际用到的索引,如果为NULL,要么没建要么没用到,或者索引失效

        覆盖索引:select后面查询的字段和所建复合索引的个数和顺序一模一样

        如果理论上没有,而key中出现了则是使用了覆盖索引

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

      rows:越小越好

      Extra:不要出现Using filesort[文件内排序],using index(索引扫描,出现好一点)

    二、作用:

      

     实例:

  • 相关阅读:
    python
    python
    gitlab
    nodejs
    java
    ElasticSearch 安装与配置 (windows)
    shell脚本批量注释
    C获取系统中CPU核数
    linux内核内存管理
    perf: interrupt took too long (3136 > 3126), lowering kernel.perf_event_max_sample_rate to 63000
  • 原文地址:https://www.cnblogs.com/exce-ben/p/12375264.html
Copyright © 2020-2023  润新知