作者:可爱猪猪 - 帅锅一枚

作者的网名很阔爱,如果喜欢本文章一定要点 喜欢 或者 打赏,拜托~

作者一直在进步,需要你们的支持和鼓励,谢谢!

人生理想:在程序猿界混出点名堂!

请读者,认真读完这篇文章,一定可以解开你心中多年的谜团!

1.possible_keys

条件字段在索引中存在,则将该索引列出。

注意:如果用到了索引,也就是key不为空,但possible_keys为空,那么使用了覆盖索引。

所谓覆盖索引,就是查询的时候select 的列就是索引字段。

2.key

使用的索引

这里使用的索引,并不代表一定用上了索引,用没用索引,以及索引如何用的还要取决于type字段

3.key_len

索引字段的长度,跟查询的结果集无关。只是跟索引字段的定义的长度有关。

这里需要搞懂两个问题:

如何计算索引长度

我直接说结果免的去看网上那么多测试和长篇大论

一般数据库采用utf-8,

varchar类型的长度为3*len+2

char类型的长度为3len

int类型的长度4

bigint的长度是8

此外,如果是null,在以上的基础+1,

题外话:mysql建议字段设置为not null来节省空间,此外int(10)并不是说占10个字节或者10位的长度,而只是不满10位填0,仅展示用

举例:

utf-8下 a varchar(10) 长度为3(utf-8)10+2(varchar)+1(null) = 33

key_len的作用

主要看用的联合索引的长度,

对于联合索引来说,只能根据type和key来判断用没有用上索引,用的哪个索引,但是索引用的哪个字段并推理不出,所以根据key_len和最左原则来推断。

至于网上有些文章说它越小越好,不一定有道理。比如联合索引全部使用key_len就比较大,但性能就好。

4.type

表示是否用上索引,以及索引是如何使用的,此字段决定索引的性能。

先看结果,性能由低到高:

ALL

ALL:全表扫描

TYPE:扫描全表的顺序是按照索引顺序扫描的

RANGE:between或者“>”这种符号的时候会出现这个

REF:经作者多次验证发现,非唯一索引或者非主键,也就是你的查询条件有可能返回多条结果,则为REF

CONST:经作者多次验证发现,不管是联合唯一索引还是主键,也就是你的查询条件是唯一的,则为CONST

5.extra

以下两个比较重要:

using index:出现这个说明mysql使用了覆盖索引,避免访问了表的数据行,效率不错!通俗的说也就是查询的列不需要回表,在索引树上就能拿到结果

using where:这说明服务器在存储引擎收到行后将进行过滤。有些where中的条件会有属于索引的列,当它读取使用索引的时候,就会被过滤,所以会出现有些where语句并没有在extra列中出现using where这么一个说明。

微信公众号:可爱猪猪聊程序,每天连载更新,内容易懂、精彩不断。

mysql explain字段含义,Mysql explain中的关键字段(通俗易懂篇)相关推荐

  1. mysql修改字段的顺序_Mysql中如何修改字段的排列顺序?

    创建数据表的数据,字段在表中的位置已经确定了.但要修改字段在表中的排列位置,则需要使用ALTER TABLE语句来处理.在MySQL中,修改字段排列位置的基本语法格式如下: ALTER TABLE M ...

  2. linux操作系统字段含义,Linux系统 /etc/fstab各个字段含义解释

    Linux系统 /etc/fstab各个字段含义解释 # fstab文件的作用 文件/etc/fstab存放的是系统中的文件系统信息.当正确的设置了该文件,则可以通过"mount /dire ...

  3. linux中top命令cpu,ps命令中的%CPU字段和top命令中的%CPU字段

    一.ps命令中%CPU字段的含义 1."man ps"中的解释 CPU usage is currently expressed as the percentage of time ...

  4. shell之实战应用一(查找xml文档中的关键字段)

    前几天同事问我一个问题,说如下的文档中,如何把name后面的字段(红色框中的字段)单独打印出来? 其实这个很简单,先用sed过滤,然后用cut分割显示即可实现,如下: sed -n '/name/p' ...

  5. 继承能够访问父类私有字段_在单元测试中访问私有字段

    继承能够访问父类私有字段 首先,让我大声说一下,您需要将代码设计为可测试的,以便通过公共方法测试私有字段. 但是,(" buts"是人们仍在编程而不是计算机本身的原因,所以在这里很 ...

  6. java 获取继承字段_java – 从类中获取所有字段(甚至是私有的和继承的)

    我在做大学项目. 我需要从类中获取所有字段.甚至私人和继承.我试图获取所有声明字段,然后投射到超类并重复. 我的代码片段: private void listAllFields(Object obj) ...

  7. oracle删除字段约束条件,Oracle 数据库中关于对表字段约束的操作(设置、删除、查询)...

    Oracle 数据库中关于对表字段约束的操作(设置.删除.查询) 1. 给表的单个字段加约束 SQL> ALTER TABLE 表名 ADD UNIQUE(字段名); 2. 删除表的单个字段约束 ...

  8. mysql explain字段含义,MySQL(十七):EXPLAIN 输出信息之 Extra 字段解释

    Child of 'table' pushed join@1 (JSON: message text) This table is referenced as the child of table i ...

  9. mysql long raw_读取Oracle数据库中LONG RAW字段会抛出异常

    我使用Spring Boot + MyBatis + druid1.0.23读取表中的Long RAW字段时出现异常,然后我又使用Spring里的SingleConnectionDataSource能 ...

最新文章

  1. linux下用phpize给PHP动态添加扩展
  2. Android BrocastReceiver解析
  3. Knative 实践:从源代码到服务的自动化部署
  4. springJAR包和配置文件
  5. python解决问题asp_用python实现面向对像的ASP程序实例
  6. 批处理文件总结(三)
  7. GCD牛逼的中枢调度器
  8. DevOps - 配置管理 - Ansible
  9. Druid实用笔记001---Druid 介绍及配置
  10. sqlmap能测试java么_ibatis框架如何测试?ibatis入门解析
  11. 单片机c语言 arduino,单片机C语言程序设计实训100例——基于Arduino+Proteus仿真
  12. ajax struts2 乱码,struts,ajax出现乱码的解决方法
  13. zend studio php插件,Zend Studio使用技巧两则 zend studio安装 zend studio 插件 zend studio 中文...
  14. IE-LAB网络实验室:HCNP培训机构 HCIE培训中心 HCIE认证培训 HCNA培训 华为面试考试时需要注意什么
  15. 华为ensp模拟校园网/企业网实例(精品拓扑图)
  16. 偏最小二乘法PLS和PLS回归的介绍及其实现方法
  17. 使用moviepy为视频添加字幕
  18. V10抢单系统源码(新增连单管理功能)
  19. 华为digix算法大赛2020机器学习赛道-搜索相关性初赛A/B榜rank1
  20. 今日发现一个挺好的软件,控制音量 App音量控制(App Volume Control)v2.17 安卓版

热门文章

  1. vulnhub-DC-8靶机渗透记录
  2. strcmp函数详解
  3. 强势回归,Linux blk用实力证明自己并不弱!
  4. 持续集成工具之Hudson
  5. linux的时间准确性问题
  6. 7-5 人工智能刑警 分数 (25)
  7. Python基础教程之变量
  8. Citrix XenServer虚拟机安装详细过程图文教程
  9. Matlab实用教程04:cell2mat函数的使用
  10. 一步步拆解STC32G屠龙刀示波器开源程序,边学边用。