前言

紧接上文。

正文

type

type字段有如下类型:

1.all

2.index

3.rang

4.ref

5.eq_ref

6.const,system

7.null

最好到最差的顺序为:

system>const>eq_red>ref>range>index>all

优化的标准为至少达到range级别,最好是ref级别。

system 表只有一行记录,这是const类型的特列,基本不会出现。

const:表示通过一次就找到了,const 一般是在primary_key 或者 unique 索引。因为只匹配一行数据,所以很快。

eq_ref:唯一索引扫描,对每个索引键,只有一条记录与之匹配。

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

range:只检索给定范围的行,使用一个索引来选择行。一般出现在between、>、<、in等查询中。

index:select id from t1 这时候是找出全部的索引,而不必去扫描表。

all 表示全表扫描来查询性能最低。

possible_key 、 key、key_len

possible_key 显示可能应用在这张表中的索引,一个或者多个。

查询设计的字段上若存在索引,则该索引将会被列出,但是不一定被使用。

其实这个就是我们写在where 中用到的索引。

key 为实际使用的索引。

有三种情况:

第一种:possible_key 为null ,而key 不为空,一般就是索引扫描,别名覆盖索引。

第二种:possible_key 有一个或者多个,然后key显示一个。

第三个:possible_key 为null,然后key为null。

key_len:表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。在不损失精确性的情况下,越短越好。

key_len 显示的值为索引字段的最大可能长度,并非实际长度,即:key_len 是根据表定义计算而得,不是通过表内检索出的。

ref

显示索引的那一列被使用了,如果可能的话,是一个常数。那些列或者常量被用于查找索引列上的值。

rows

根据统计信息及索引选用情况,大致估算出找到所需的记录锁需要读取的行数。

每张表有优化器查询的行数,这个比较好理解。

extra

显示是额外的信息。

这一篇比较详细:

https://blog.csdn.net/poxiaonie/article/details/77757471

字段比较多,就不详细介绍了。

mysql 重新整理——索引优化explain字段介绍二 [十]的更多相关文章

  1. MySQL中的索引优化

    MySQL中的SQL的常见优化策略 MySQL中的索引优化 MySQL中的索引简介 过多的使用索引将会造成滥用.因此索引也会有它的缺点.虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行 ...

  2. MySql在建立索引优化时需要注意的问题

    MySql在建立索引优化时需要注意的问题 设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率.设计MySql索引的时候有一下几点注意: 1,创建索引 对于查询占主要的应用来说,索引显得 ...

  3. 一本彻底搞懂MySQL索引优化EXPLAIN百科全书

    1.MySQL逻辑架构 日常在CURD的过程中,都避免不了跟数据库打交道,大多数业务都离不开数据库表的设计和SQL的编写,那如何让你编写的SQL语句性能更优呢? 先来整体看下MySQL逻辑架构图: M ...

  4. MySQL系列(六)--索引优化

    在进行数据库查询的时候,索引是非常重要的,当然前提是达到一定的数据量.索引就像字典一样,通过偏旁部首来快速定位,而不是一页页 的慢慢找. 索引依赖存储引擎层实现,所以支持的索引类型和存储引擎相关,同一 ...

  5. mysql 高级和 索引优化,目的:查的好,查的快,性能好

    1-事物隔离级别: 更新丢失, 并发情况下,对同一字段进行更新,就会出现更新丢失,采用乐观锁,比较版本号或时间戳可解决 读未提交 解决了更新丢失但是会引起脏读, 二个session.sessionA中 ...

  6. MySQL优化Explain命令简介(二)

    type列 MySQL手册上注明type列用于描述join type,不过我们认为把这一列视为对access type--即MySQL决定如何在表中寻找数据的方式的描述,更加合适一些,以下所示从最坏情 ...

  7. mysql 单表索引优化

    建表语句 CREATE TABLE IF NOT EXISTS `article` ( `id` INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMEN ...

  8. 【MySQL 高级】索引优化分析

    MySQL高级 索引优化分析 SQL 的效率问题 出现性能下降,SQL 执行慢,执行时间长,等待时间长等情况,可能的原因有: 查询语句写的不好 索引失效 单值索引:在 user 表中给 name 属性 ...

  9. MySQL如何利用索引优化ORDER BY排序语句

    MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度. MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作. 通 ...

  10. MySQL如何利用索引优化ORDER BY排序语句 【转载】

    本文转载自:http://blog.csdn.net/ryb7899/article/details/5580624  .感谢相关作者. MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执 ...

随机推荐

  1. Java 从键盘输入不确定的整数 并判断读入的整数和负数的个数,输入0时候结束

    1 /** 2 * 从键盘输入不确定的整数 并判断读入的整数和负数的个数,输入0时候结束 3 * 4 */ 5 6 Scanner scan = new Scanner(System.in); 7 8 ...

  2. Java //手动输入3个数,并从小到大排序

    1 //手动输入3个数,并从小到大排序 2 //import java.util.Sanner; 3 4 System.out.println("请输入第一个数:"); 5 Sca ...

  3. 19 SWERC 2022-2023 - Online Mirror (Unrated, ICPC Rules, Teams Preferred)L. Controllers(数学公式+瞎搞)

    L. Controllers 思路: #include <bits/stdc++.h> #define int long long #define rep(i, a, b) for(int ...

  4. el-select封装(单选框、多选框、全选功能)

    先看看设计图: 网上找了一溜,都是扯淡,样式也没个 自己动手吧,先把样式搞定 popper-class="xx-option" 所有单选框都用 :after和:before类 + ...

  5. mongo Payload document size is larger than maximum of 16777216. 如何处理

    MongoDB中的文档大小限制为16MB(即16777216字节).如果你遇到Payload document size is larger than maximum of 16777216的错误,意 ...

  6. nowrap - table td 列 宽度 不被挤 - 大表格制作

    nowrap - table td 列 宽度 不被挤 - 大表格制作 表格前几列 设置完宽度,会被右侧动态数据挤没有宽度,加上nowrap,就保证宽度了

  7. koa 文件下载 pdf预览 两个接口 - nodejs - chromeDownload chromePreview

    koa 文件下载 pdf预览 两个接口 - nodejs - chromeDownload chromePreview chrome.js const router = require("k ...

  8. iview viewDesign table 单选 Radio

    columns.js export default [ { title: '选择', slot: 'choose', align: 'center', width: 100 }, table里面 &l ...

  9. 基于python中librosa的声音混音实例解析

    一 概念   1.一些概念 Librosa是一个用于音频.音乐分析.处理的python工具包,一些常见的时频处理.特征提取.绘制声音图形等功能应有尽有,功能十分强大.本文主要介绍libros的基本用法 ...

  10. JSF+EJB+JPA之整体思想

    序言: JSF+EJB+JPA 其实没有想象中的难,不过要做好应用以及在合适的地方建立应用,才是真正的难点. 好的技术在不合适的地方做了应用,那也只能是垃圾. 所以这个东西并不适合于太小规模的企业应用 ...