美文网首页
Mysql执行计划

Mysql执行计划

作者: 黄靠谱 | 来源:发表于2019-01-18 16:59 被阅读17次

参考

http://blog.csdn.net/mr253727942/article/details/51201222

执行计划分析

通过再查询SQL前面添加Explain关键字,来实现查看 执行计划
EXPLAIN select * from wx_ib where id=500;

  • select_type
    每个select子句的类型,主要分成下面几种:
    a. SIMPLE:查询中不包含任何子查询或者union
    b. PRIMARY:查询中包含了任何复杂的子部分,最外层的就会变成PRIMARY
    c. SUBQUERY:在SELECT或者WHERE列表中包含了子查询
    d. DERIVED:在FROM中包含了子查询
    e. UNION:如果第二个SELECT出现在UNION之后,则被标记为UNION,如果UNION包含在FROM子句的子查询中,外层SELECT会被标记为:DERIVED
    f. UNION RESULT从UNION表获取结果的select

  • type
    是指MySQL在表中找到所需行的方式,也就是访问行的”类型”,从a开始,效率逐渐上升:
    a:all:全表扫描,效率最低
    b:index:index会根据索引树遍历
    c:range:索引范围扫描,返回匹配值域的行。
    d:ref:非唯一性索引扫描,返回匹配某个单独值的所有行。一般是指多列的唯一索引中的某一列。
    e:eq_ref:唯一性索引扫描,表中只有一条记录与之匹配。
    f:const、system:主要针对查询中有常量的情况,如果结果只有一行会变成system
    g:NULL:显而易见,既不走表,也不走索引

  • possible_keys
    possible_keys列预估了mysql能够为当前查询选择的索引,这个字段是完全独立于执行计划中输出的表的顺序,意味着在实际查询中可能用不到这些索引。
    如果该字段为空则意味着没有可使用的索引,这个时候你可以考虑为where后面的字段建立索引

  • key
    这个字段表示了mysql真实使用的索引。如果mysql优化过程中没有加索引,可以强制加hint使用索引

性能明细查看

show profiles;(如果未开启的话,set profiling=1;)
可以查看具体的耗时信息

相关文章

  • MySQL源码解析之执行计划

    MySQL源码解析之执行计划 MySQL执行计划介绍 MySQL执行计划代码概览 MySQL执行计划总结 一、My...

  • Mysql优化之explain详解

    关键词: mysql explain sql优化 执行计划 简述:explain为mysql提供语句的执行计划信息...

  • MYSQL执行计划字段详解

    Mysql查看执行计划 explain + sql :输出执行计划。explain extended + sql ...

  • MySQL的执行计划

    MySQL的执行计划 什么是执行计划? 执行计划通常是开发者优化SQL语句的第一步。MySQL在解析SQL语句时,...

  • 索引

    一文说尽 MySQL 优化原理MySQL 索引管理与执行计划

  • MySQL进阶之路--EXPLAIN执行计划详解

    执行计划简介 执行计划是指一条SQL语句在经过MySQL查询优化器的优化会后,具体的执行方式。MySQL为我们提供...

  • MySQL执行计划

    MySQL执行计划[https://www.jianshu.com/p/c68cd839cf26] 执行计划,简单...

  • Mysql执行计划功能详解

    Mysql执行计划使用详解 在Mysql调优过程中其中最关键的一点,就是正确使用执行计划,从而查看SQL语句的具体...

  • Mysql - Explain

    Mysql - Explain explain + 查询sql可以生成一个执行计划,可以通过执行计划来进行sql优...

  • EXPLAIN 命令详解

    # MySQL Explain详解 __简介__ 执行计划(`query Execution plan`) __语...

网友评论

      本文标题:Mysql执行计划

      本文链接:https://www.haomeiwen.com/subject/qtondqtx.html