Mysql Explain 参数解释
查询计划使用以及使用说明
- table:显示这一行数据是关于哪张表的。
- type:显示使用了何种类型,从最好到最差的连接类型为system、const、eq_ref、ref、fulltext、ref_or_null、index_merge、unique_subquery、index_subquery、range、index、all。
- const、system、null:当mysql能对查询的部分就行优化,并且转换成一个常量的时候,它就会使用这种访问类型了。比如你把一行的主键当做where条件放进去,那mysql就可以把它转换成一个常量,然后查询.
- eq_ref:通过索引列,直接引用某1行数据(精确到一行数据中)常见于连接查询中
- ref:一种索引访问,返回所有匹配某个单独值的行,可能会找到多个符合条件的行,所以他应该属于查找和扫描的混合体(也是范围区间,不过比range更加精确)
- fulltext:全文索引
- ref_or_null:类似ref,只是搜索条件包括连接字段的值可以为NULL的情况,比如 where col = 2 or col is null
- index_merge:多重范围扫描。两表连接的每个表的连接字段上均有索引存在且索引有序,结果合并在一起。适用于作集合的并、交操作
- unique_subquery:在子查询中,基于唯一索引进行扫描,类似于eq_ref
- index_subquery:在子查询中,基于除唯一索引之外的索引进行扫描
- range:查询时,能根据索引做范围的扫描
- index:比all性能稍好一点。all扫描所有的数据行,相当于data_all, index扫描所有的索引节点,相当于index_all
- all:意味着从表的第1行,往后,逐行做全表扫描,运气不好扫描到最后一行
- possible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。
- key:实际使用的索引,如果为null,则没有使用索引。
- key_len:使用的索引的长度。在不损失精确性的情况下,长度越短越好。
- ref:显示索引的哪一列被使用了,如果可能的话,是一个常数。
- rows:mysql认为必须检查的用来返回请求数据的行数,越小越好。
- extra:利用有序索引获取有序数据显示Using index。而文件排序显示Using filesort,它是Mysql里一种速度比较慢的外部排序,能避免是最好的。using temporyary表示适用临时表排序,同样很耗时。
- using index:出现这个说明Mysql使用了覆盖索引,避免了范围表的数据行,效率高。
- using where:服务器在存储引擎收到返回的行之后进行过滤。但是有些where中的条件会有属于索引的列,当它执行时就会执行过滤,所以有些where语句并没有在extra列中出现using where。
- using temporary:Mysql对查询结果进行排序的时候使用了一张临时表。
- using filesort:Mysql会对数据使用一个外部索引进行排序,而不是按照表内的索引顺序进行读取
。
注意:MySQL在查询时最多只能使用一个索引。因此,如果WHERE条件已经占用了索引,那么在排序中就不使用索引了。
本文参考:http://www.cnblogs.com/xujishou/p/6389370.html
Mysql Explain 参数解释的更多相关文章
- mysql explain参数解析
建表语句 -- ---------------------------- -- Records of departments -- ---------------------------- INSER ...
- mysql explain参数详解
主要对几个参数做一些记录 type:显示的是访问类型 从最好到最差的连接类型为:const.eq_reg.ref.range.index和ALL 至少要达到range,基本是ref 最好是const ...
- mysql explain的解释
详解MySQL中EXPLAIN解释命令 explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上e ...
- mysql explain 命令解释
转载http://bzyyc.happy.blog.163.com/blog/static/6143064720115102551554/ key实 际使用的索引.如果为NULL,则没有使用索引.很少 ...
- mysql命令行各个参数解释
mysql命令行各个参数解释 http://blog.51yip.com/mysql/1056.html Usage: mysql [OPTIONS] [database] //命令方式 -?, ...
- mysql 运行计划explain具体解释
explain主要是用来获取一个query的运行计划,描写叙述mysql怎样运行查询操作.运行顺序,使用到的索引,以及mysql成功返回结果集须要运行的行数.能够帮助我们分析 select 语句,让我 ...
- Mysql EXPLAIN列的解释
转自:http://blog.chinaunix.net/uid-540802-id-3419311.html explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择 ...
- mysql explain字段意思解释
mysql explain字段意思解释 explain包含id.select_type.table.type.possible_keys.key.key_len.ref.rows.extra字段 id ...
- 【转载】 mysql explain用法
转载链接: mysql explain用法 官网说明: http://dev.mysql.com/doc/refman/5.7/en/explain-output.html 参数: htt ...
随机推荐
- 201521123039 《java程序设计》第十一周学习总结
1. 本周学习总结 2. 书面作业 本次PTA作业题集多线程 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchronized修饰方法实现互斥同步访问,还有 ...
- 《MySQL必知必会》[02] 多表联合查询
1.基本连接 不同类型的数据,存储在多个表中,而所谓多表连接,就是将多个表联合返回一组输出. 1.1 等值连接 基本的连接方式非常简单,只需要在WHERE子句中规定如何关联即可,如下: SELECT ...
- 关于linux下的文件权限
在ls指令加 -l 参数能看到文件权限 就像这样: drwxrwxr-x 2 asml users 4096 Jul 24 02:45 desktop 第一个d表示这是个目录,若为"-&qu ...
- bzoj 3212 Pku3468 A Simple Problem with Integers
3212: Pku3468 A Simple Problem with Integers Time Limit: 1 Sec Memory Limit: 128 MB Description You ...
- IOS SDWebImage实现基本原理详解(转载)
1)当我门需要获取网络图片的时候,我们首先需要的便是URl没有URl什么都没有,获得URL后我们SDWebImage实现的并不是直接去请求网路,而是检查图片缓存中有没有和URl相关的图片,如果有则直接 ...
- Java基础——集合源码解析 List List 接口
今天我们来学习集合的第一大体系 List. List 是一个接口,定义了一组元素是有序的.可重复的集合. List 继承自 Collection,较之 Collection,List 还添加了以下操作 ...
- 【Spring】面向切面之AOP
前言 前面已经讲解了bean的装配技术,接着学习Spring中另外一个核心概念:切面. 面向切面 面向切面编程 切面能够帮助模块化横切关注点,横切关注点可以被描述为影响应用的功能,如为业务添加安全和事 ...
- 关于如何获取iframe中的元素
今天研究了一下iframe中元素的获取,发现有些地方还是有点坑的. 首先:如果使用纯前端手段,是没有办法获取非同源的iframe中的元素的,后面会提到后端手段 一.同源环境 1.首先在父页面获取ifr ...
- linux备份文件脚本
#!/bin/sh #Author: Opal TODAY=`date +%Y%m%d` YESTERDAY=`date -d"-1 day" +%Y%m%d` mkdir -p ...
- php Socket通信
<?php error_reporting(0); $host = "0.0.0.0"; $port = 1082; $maxUser = 10; set_time_limi ...