zoukankan      html  css  js  c++  java
  • mysql12----explain

    explain 可以帮助我们在不真正执行某个sql语句时,就执行mysql怎样执行,这样利用我们去分析sql指令.尽量避免全表扫描。

    Id:
    SELECT识别符。这是SELECT的查询序列号
    SELECT * FROM emp WHERE empno = 3 and ename = (SELECT ename FROM emp WHERE empno =  4) G;
    
    select_type:
    PRIMARY    :子查询中最外层查询
    SUBQUERY : 子查询内层第一个SELECT,结果不依赖于外部查询
    DEPENDENT SUBQUERY:子查询内层第一个SELECT,依赖于外部查询
    UNION   :UNION语句中第二个SELECT开始后面所有SELECT,
    SIMPLE
    UNION RESULT UNION 中合并结果
    
    Table:显示这一步所访问数据库中表名称
    
    Type:对表访问方式
    ALLSELECT * FROM emp G,完整的表扫描 通常不好
    SELECT * FROM (SELECT * FROM emp WHERE empno = 3) a ;
    System,表仅有一行(=系统表)。这是const联接类型的一个特
    Const,表最多有一个匹配行
    
    Possible_keys:该查询可以利用的索引,如果没有任何索引显示  null
    
    Key :所选择使用索引
    
    Rows:执行查询时必须检查的行数
    EXPLAIN SELECT * FROM emp WHERE empno < 50 G;
    EXPLAIN SELECT * FROM emp WHERE empno = 50 G;
    
    Extra:查询细节信息
    No tables :没查表
    Using filesort  
    当Query中包含 ORDER BY 操作,而且无法利用索引完成排序,
     Impossible WHERE noticed after reading const tables: MYSQL Query Optimizer
    通过收集统计信息不可能存在结果
    Using temporary
    某些操作必须使用临时表,常见 GROUP BY  ; ORDER BY
    Using where
    不用读取表中所有信息,仅通过索引就可以获取所需数据;
    
    Key_len :被选中使用索引的索引长度
  • 相关阅读:
    python报以下错误:TypeError: 'int' object is not subscriptable
    C# Func与Action
    C#调用C++的DLL 尝试写入受保护的内存
    C#调用C++的dll EntryPointNotFoundException
    C# 拖拽事件
    C#操作Access数据库中遇到的问题(待续)
    Winform 中写代码布局中遇到的控件遮盖问题
    thinkphp6执行流程(一)
    xdebug调试过程中apache500超时
    禁用phpcookie以后如何使用Session
  • 原文地址:https://www.cnblogs.com/yaowen/p/8206660.html
Copyright © 2011-2022 走看看