分析 首先我们知道:possible_keys为可能使用的索引;key为实际使用的索引,按照逻辑讲第一个为null 那么第二个也应该为null才对。 原因 这种情况一般发生在覆盖索引条件下,possible_keys为null说明用不上索引的树形查找,但如果二 级索引包含了所有要查找的数据,二级索引往往比聚集索引小,所以mysql可能会选择顺序遍历这个...
|possible_keys|key|key_len| ref | rows | Extra... | table | type |possible_keys|key|key_len| ref | rows | Extra MySQL Explain解析 概要描述: id:选择标识符 select_type:表示查询的类型。 table:输出结果集的表partitions:匹配的分区 type:表示表的连接类型possible_keys:表示查询时,可能使用的索...
另外,key_len只计算where条件用到的索引长度,而排序和分组就算用到了索引,也不会计算到 key_len中。 看组合索引的使用情况
`order_status` smallint(6) NOT NULL DEFAULT 0 COMMENT '订单的状态', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `u_idx_day_status`(`insert_time`, `order_status`, `expire_time`) USING BTREE, INDEX `idx_order_no`(`order_no`) USING BTREE, INDEX `idx_insert_time`(`insert_time`...
简介:快速学习 explain 之 possible_keys 和 key 介绍 开发者学堂课程【MySQL 高级应用 - 索引和锁:explain 之 possible_keys 和 key 介绍】学习笔记,与课程紧密联系,让用户快速学习知识。 课程地址:https://developer.aliyun.com/learning/course/598/detail/8603 ...
13-MySQL索引-Explain之possible keys和key介绍是MySQL索引优化解决方案,MySQL数据库高级视频教程,MySQL索引优化难点和面试题详解的第13集视频,该合集共计24集,视频收藏或关注UP主,及时了解更多相关视频内容。
key_len显示的值为索引字段最大可能长度,并非实际使用长度,即key_len是根据表定义计算而得,不是通过表内检索出的。 关注我的公众号,精彩内容不能错过 作者:程序员果果出处:blog.itwolfed.com欢迎关注公众号——《程序员果果》 ,分享SpringBoot、SpringCloud、Dubbo、Golang、Docker相关知识与技巧。原创 Java 博客,...
简介:MYSQL性能调优02_Explain概述、详解id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra列(四) ⑥. possible_keys、key列字段 ①. possible_keys列:这一列显示查询可能使用哪些索引来查找。 ②. key列:这一列显示mysql实际采用哪个索引来优化对该表的访问。
key: 实际使用的索引。如果为NULL,则没有使用索引 查询中若使用了覆盖索引,则该索引和查询的selet字段重叠,仅出现在key列表中。 覆盖索引:查询的字段与所建索引的字段个数和顺序刚好吻合 key_len: 表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。在不损失精确性的情况下,长度越短越好 ...
possible_key 可能用到的索引 key:真正用到的索引 rows:扫描的行数 从上图可以看出,这条语句执行采用的是全表扫描,没有走任何索引因此效率十分低. 接下来小猿分析了下现有的建表语句: 发现相关字段都已经加上了索引可是为何实际查询并没有找索引而是采用了全表扫描?