iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Mysql explain 各参数详解
  • 422
分享到

Mysql explain 各参数详解

Mysqlexplain各参数详解 2016-04-15 02:04:11 422人浏览 才女
摘要

id序号 select_type simple:即简单select 查询,不包含uNIOn及子查询; primary:最外层的 select 查询; union:表示此查询是 union 的第二或随后的查

Mysql explain 各参数详解

  • id序号
    select_type

    • simple:即简单select 查询,不包含uNIOn及子查询;
    • primary:最外层的 select 查询;
    • union:表示此查询是 union 的第二或随后的查询;
    • dependentunion:union 中的第二个或后面的查询语句, 取决于外面的查询;
    • union result:union的结果;
    • subquery:子查询中的第一个select;
    • dependent subquery:子查询中的第一个select,取决于外面的查询,即子查询依赖于外层查询的结果。
  • type

    • 性能从好到坏依次如下:
    • system:表中只有一条数据,这是一个特殊的const 类型;
    • const:针对主键或唯一索引的等值查询扫描,最多只返回一行数据,const 查询速度非常快,因为它仅仅读取一次即可;
    • eq_ref:此类型通常出现在多表的 join 查询,表示对于前表的每一个结果,都只能匹配到后表的一行结果,并且查询的比较操作通常是=, 查询效率较高;
    • ref:此类型通常出现在多表的 join 查询, 针对于非唯一或非主键索引, 或者是使用了 最左前缀 规则索引的查询;
    • fulltext:全文索引检索,要注意,全文索引的优先级很高,若全文索引和普通索引同时存在时,Mysql不管代价,优先选择使用全文索引;
    • ref_or_null:与ref方法类似,只是增加了null值的比较。实际用的不多;
    • unique_subquery:用于where中的in形式子查询,子查询返回不重复值唯一值;
    • index_subquery:用于in形式子查询使用到了辅助索引或者in常数列表,子查询可能返回重复值,可以使用索引将子查询去重;
    • index_merge:表示查询使用了两个以上的索引,最后取交集或者并集,常见and,or的条件使用了不同的索引,官方排序这个在ref_or_null之后,但是实际上由于要读取所个索引,性能可能大部分时间都不如range;
    • range:表示使用索引范围查询,通过索引字段范围获取表中部分数据记录。这个类型通常出现在 =, <>, >, >=, <, <=, IS NULL, <=>, BETWEEN, IN操作中,此时输出的 ref 字段为 NULL并且key_len字段是此次查询中使用到的索引的最长的那个;
    • index:全表扫描,只是扫描表的时候按照索引次序进行而不是行。主要优点就是避免了排序,但是开销仍然非常大,这种情况时, Extra 字段会显示 Using index;
    • all:性能最差的情况,使用了全表扫描,系统必须避免出现这种情况。
  • possible_keys

    • 可能用到的索引。
  • key

    • 真正用到的索引。
  • key_len

    • 使用了索引字节的长度。
  • ref

    • 之前用到的key索引的哪一列或常量
  • rows

    • 扫描了多少行数,也是性能评估的重要依据
  • extra

    • Distinct:一旦找到了与行相联合匹配的行就不再搜索了;
    • Using filesort:使用了文件排序,性能非常慢,需要优化
    • Using index:查询使用到了索引,列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的,这发生在对表的全部的请求列都是同一个索引的部分的时候。
    • Using temporary:使用了临时表排序,性能非常慢,需要优化。
    • Using where:表示使用了where进行查询,不是很重要。
    • ALL:这个连接类型对于前面的每一个记录联合进行完全扫描,这一般比较糟糕,需要优化。
您可能感兴趣的文档:

--结束END--

本文标题: Mysql explain 各参数详解

本文链接: https://www.lsjlt.com/news/4407.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql explain 各参数详解
    id序号 select_type simple:即简单select 查询,不包含union及子查询; primary:最外层的 select 查询; union:表示此查询是 union 的第二或随后的查...
    99+
    2016-04-15
    Mysql explain 各参数详解
  • 【MySQL】EXPLAIN 语句 各字段 详解
    EXPLAIN 语句 概貌 在连接查询的执行计划中: 每个表都会对应一条记录,这些记录的 id 列的值是相同的; 在包含子查询的执行计划中 :每个 select关键字都会对应一个唯...
    99+
    2023-10-27
    mysql 数据库
  • MySQL-Explain详解
    Explain介绍         在select语句之前增加explain关键字,执行后MySQL就会返回执行计划的信息,而不是执行sql。但如果from中包含子查询,MySQL仍会执行该子查询,并把子查询的结果放入临时表中。 ...
    99+
    2023-08-31
    mysql 数据库
  • Mysql Explain详解
    下面是使用 explain 的例子:  在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询时,会返回执行计划的信息,而不是执行这条SQL(如果 from 中包含子查询,仍会执行该...
    99+
    2018-07-28
    Mysql Explain详解
  • MySQL之Explain详解
    Explain工具介绍 使用Explain关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈。在select语句之前增加explain关键字,mysql会在查询上设置一个标记,执行查询会返回...
    99+
    2023-04-06
    MySQL Explain详解 Explain详解
  • dataloader各项参数详解
    在学习某一神经网络框架时,数据流总是能帮助大家更好地理解整个模型的运行逻辑/顺序,而其中Dataloader的作用在某些时候更是至关重要的。 笔者将自己的学习到的关于dataloader的创建,作...
    99+
    2023-10-20
    pytorch 深度学习 python
  • MySQL Explain使用详解
    在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使...
    99+
    2022-10-18
  • MYSQL explain详解之range
    explain显示了MySQL如何使用索引来处理DML语句以及连接表,explain显示的信息可以帮助选择更好的索引和写出更优化的查询语句  2.EXPLAIN列的解释:table:显示...
    99+
    2022-10-18
  • Mysql中explain作用详解
    在MySQL中,EXPLAIN是一个用于分析查询语句的关键字。通过使用EXPLAIN,可以获取查询语句执行的详细信息,包括查询的执行...
    99+
    2023-08-14
    mysql
  • 详解mysql中explain的type
    导语: 很多情况下,有很多人用各种select语句查询到了他们想要的数据后,往往便以为工作圆满结束了。 这些事情往往发生在一些学生亦或刚入职场但之前又没有很好数据库基础的小白身上,但所谓闻道有先后,只要我...
    99+
    2022-05-24
    mysql explain mysql explain的type
  • MySQL索引优化Explain详解
    在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引...
    99+
    2022-05-12
    MySQL索引优化 MySQL Explain
  • MySQL执行计划EXPLAIN详解
    本文以MySQL 5.7 Reference Manual为主轴(翻译&取其精华)并结合网文百家之长整理而成,因为笔者水平有限,文中如有不准确之处请包涵,如转载请注明原文出处guocun...
    99+
    2022-10-18
  • mysql explain执行计划详解
    ...
    99+
    2022-10-18
  • mysql索引篇explain命令详解
    目录前言keytypeExtra前言 mysql中的explain命令可以用来查看sql语句是否使用了索引,用了什么索引,有没有做全表扫描。可以帮助我们优化查询语句。explain出来的信息有10列,文章主要介绍type...
    99+
    2022-08-25
  • MySQL的执行计划详解(Explain)
    1、MySQL执行计划的定义 在 MySQL 中可以通过 explain 关键字模拟优化器执行 SQL语句,从而知道 MySQL 是如何处理 SQL 语句的。 2、MySQL整个查询的过程 • 客户端向 MySQL 服务器发送一条查询请求 ...
    99+
    2023-08-19
    mysql 数据库 java
  • MySQL进阶系列:一文详解explain
    explain有何用处呢: 为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQL语句的执行效率。 ​ 可以使用explain+SQL语句来模拟优化器执行SQL查询语句,从而知道mysql是如何处理sql...
    99+
    2019-12-13
    MySQL进阶系列:一文详解explain
  • MySQL EXPLAIN输出列的详细解释
    1. 简介 EXPLAIN语句提供有关 MySQL 如何执行语句的信息。 EXPLAIN与SELECT、DELETE、INSERT、REPLACE和UPDATE语句一起使用。 mysql> EXP...
    99+
    2022-05-30
    mysql explain输出列 mysql中explain的用法 mysql explain详解
  • MySQL Explain 详解(优化MySQL性能第一步)
    MySQL Explain 详解 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句。分析你的查询预付或表结构的性能瓶颈。 查询结果返回字段分析 ...
    99+
    2014-08-20
    MySQL Explain 详解(优化MySQL性能第一步)
  • Mysql /etc/my.cnf参数详解(二)
    #buffer相关 #buffer pool根据实际内存大小调整,标准为物理内存的50% innodb_buffer_pool_size=15996M //默认值128M,innodb_buffer_pool_size | 13421772...
    99+
    2023-09-03
    mysql adb android
  • MySQL InnoDB常见参数详解
    一、文件(数据文件、日志文件)      1、相关参数:           innodb_data_home_dir &nb...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作