美文网首页PHP开发
mysql explain详解

mysql explain详解

作者: hankviv | 来源:发表于2017-12-13 11:10 被阅读0次
用explain分析后的数据

select Type:

SIMPLE : 查询中不包含子查询或者UNION.

PRIMARY: 查询中包含任何复杂的子部分,最外层查询被标记为PRIMARY.

SUBQUERY: 在SELECT或者WHERE列表中包含了子查询,该子查询被标记为SUBQUERY.

DERIVED: 在FROM列表中包含的子查询被标记为DERIVED.

UNION: 若第二个SELECT出现在UNION之后,则被标记为UNION;若UNION包含在FROM子句的子查询中,则被标记为DERIVED.

UNION RESULT 从UNION表获取结果的SELECT被标记为UNION RESULT.

Extra:

using where:表示需要回文才能找到内容,优化方案是尽量走索引。

using index:表示直接走索引就查出了数据。

type:

表示MySQL执行查询时是如何获取所需行的,又称”访问类型”

ALL: Full Table Scan,MySQL扫描全表以找到匹配的行.

index: Full Index Scan,index与ALL的区别在于index只遍历索引树

range: 索引范围扫描,对索引的扫描开始于某一点,返回匹配值域的行.

ref: 非唯一性索引扫描,返回匹配某个值的所有.

eq_ref: 唯一性索引扫描,对于某个索引键,表中只有一条记录与之匹配,常见于主键或者唯一索引查询.

const,system: 当MySQL优化部分查询,并转换为一个常量时,使用这些类型访问.如将主键置与where列表中,MySQL就能将该查询替换为一个常量.需要注意的是system是const的特殊类型,当查询的表只有一行的情况下使用system.

NULL: MySQL在优化过程中分解语句,执行时不用访问表或者索引.

优化器会在索引存的情况下,通过符合 RANGE 范围的条数和总数的比例来选择是使用索引还是进行全表遍历

相关文章

  • MySQL Explain 执行计划

    参考:MYSQL explain详解需求:Qunar MySQL基础培训 Explain显示了MySQL如何使用索...

  • EXPLAIN 命令详解

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

  • MySQL EXPLAIN详解

    MySQL EXPLAIN详解 MySQL EXPLAIN命令是查询性能优化不可缺少的一部分,该文主要讲解expl...

  • mysql

    MySQL Explain详解[https://www.cnblogs.com/tufujie/p/9413852...

  • MySQL Explain详解

    MySQL Explain详解[https://www.cnblogs.com/tufujie/p/9413852...

  • mysql explain执行计划详解

    **mysql explain执行计划详解** ![](https://i.imgur.com/rMMKNQN.p...

  • MySQL索引背后的数据结构及算法原理

    参考来源 mysql索引分析 MySQL索引背后的数据结构及算法原理 MySQL中EXPLAIN命令详解 索引连接...

  • mysql explain命令详解

    mysql explain命令详解 一.语法 二.explain输出解释 1.id 我的理解是SQL执行的顺利的标...

  • MySQL explain详解

    explain 一、id 1、单纯join(simple查询)的id都是1,按顺序往下看 2、subquery,s...

  • mysql explain详解

    概念 在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,...

网友评论

    本文标题:mysql explain详解

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