FAQ系列 | 解读EXPLAIN执行计划中的key_len

简介: FAQ系列 | 解读EXPLAIN执行计划中的key_len

导读

EXPLAIN中的key_len一列表示什么意思,该如何解读?

EXPLAIN执行计划中有一列 key_len 用于表示本次查询中,所选择的索引长度有多少字节,通常我们可借此判断联合索引有多少列被选择了。

在这里 key_len 大小的计算规则是:

  • 一般地,key_len 等于索引列类型字节长度,例如int类型为4-bytes,bigint为8-bytes;
  • 如果是字符串类型,还需要同时考虑字符集因素,例如:CHAR(30) UTF8则key_len至少是90-bytes;
  • 若该列类型定义时允许NULL,其key_len还需要再加 1-bytes;
  • 若该列类型为变长类型,例如 VARCHAR(TEXT\BLOB不允许整列创建索引,如果创建部分索引,也被视为动态列类型),其key_len还需要再加 2-bytes;

综上,看下面几个例子:

列类型 key_len 备注
id int key_len = 4+1 = 5 允许NULL,加1-byte
id int not null key_len = 4 不允许NULL
user char(30) utf8 key_len = 30*3+1 允许NULL
user varchar(30) not null utf8 key_len = 30*3+2 动态列类型,加2-bytes
user varchar(30) utf8 key_len = 30*3+2+1 动态列类型,加2-bytes;允许NULL,再加1-byte
detail text(10) utf8 key_len = 30*3+2+1 TEXT列截取部分,被视为动态列类型,加2-bytes;且允许NULL


备注,key_len 只指示了WHERE中用于条件过滤时被选中的索引列,是不包含 ORDER BY/GROUP BY 这部分被选中的索引列。

例如,有个联合索引 idx1(c1, c2, c3),3个列均是INT NOT NULL,那么下面的这个SQL执行计划中,key_len的值是8而不是12:

SELECT…WHERE c1=? AND c2=? ORDER BY c1;


关于MySQL的方方面面大家想了解什么,可以直接留言回复,我会从中选择一些热门话题进行分享。 同时希望大家多多转发,多一些阅读量是老叶继续努力分享的绝佳助力,谢谢大家 :)


最后打个广告,运维圈人士专属铁观音茶叶微店上线了,访问:http://yuhongli.com 获得专属优惠

相关文章
|
7月前
|
存储 编解码 缓存
上传文件卡顿?阿里云点播上传加速技巧全解析
本文系统解析阿里云视频点播上传机制,针对进度停滞、超时失败等问题,分享选型策略、分片上传、并发优化等实战技巧,助力提升上传效率与稳定性。
|
10月前
|
算法 API 数据安全/隐私保护
电商 API 双平台实战:淘宝 item.get + 京东 item_detail 对接指南(附可复用代码 + 问题排查)
本文详细解析了淘宝和京东双平台API对接的核心流程,涵盖资质申请、凭证获取、签名生成、高频接口调用及常见问题解决方案,助力开发者高效实现商品数据同步与管理。
|
6月前
|
存储 弹性计算 缓存
阿里云4核云服务器价格详解:最新收费标准与4核8G、4核16G等配置活动价格参考
阿里云4核云服务器(vCPU)凭借多样化实例规格(如经济型e、通用算力型u2a、计算型c9i等),覆盖从个人到企业的全场景需求。价格方面,提供包年包月、按量付费等灵活计费模式,具体价格随配置(内存、带宽、存储)差异显著,如经济型e实例4核8G配置年付约1595.11元起,计算型c9i实例4核8G年付约3147.56元。活动期间可享u2a实例2.5折、九代云服务器年付6.4折起及新客专属补贴,适配个人博客、企业官网、在线教育、电商、大数据分析等场景。
|
7月前
|
数据采集 人工智能 弹性计算
"AI+云"赋能:基于PAI平台快速训练专属的图片识别模型
阿里云PAI平台融合AI与云计算,提供从数据标注到模型部署的全流程图片识别训练服务。支持弹性计算、可视化建模与多行业解决方案,助力开发者高效构建定制化模型,推动零售、工业、医疗等智能升级。
|
7月前
|
jenkins Java 持续交付
Jenkins配置编译项目
基于Jenkins实现自动化编译部署,涵盖后台Java模块、前端Vue项目。流程包括:GitLab拉取代码,Maven/Node编译,Docker打包镜像,推送至CCE镜像仓库,kubectl更新服务。通过自由风格任务配置构建步骤,支持手动触发与参数化导出镜像为tar包,适配不同Docker版本环境,提升发布效率与兼容性。
352 0
|
8月前
|
人工智能 安全 Anolis
软硬协同!RISC-V 生态分论坛精彩议程公布 | 2025 龙蜥大会
以 “软硬协同” 为核心主线,围绕系统层适配优化、芯片 - 软件协同创新、开源生态标准化三大维度展开深度研讨。
|
8月前
|
人工智能
AI实训营11月重磅上新!电商卖家福音来咯:一键生成高颜值商品视频,还能赢好礼!
AI实训营11月重磅活动来袭!专为电商卖家打造,输入商品信息即可一键生成专业级短视频,支持服饰、数码、家居等多品类。零门槛、高效智能,基于阿里云百炼+Wan2.5模型,画质清晰、风格多样。参与即有机会赢取定制周边好礼及Tokens优惠包,提升创作效率,引爆流量增长!
570 0
|
消息中间件 缓存 Cloud Native
大促场景系统稳定性保障实践经验总结
11月11日0点刚过26秒,天猫双11的订单创建峰值就达到58.3万笔/秒,阿里云又一次扛住全球最大规模流量洪峰!58.3万笔/秒,这一数字是2009年第一次天猫双11的1457倍。
14089 116
大促场景系统稳定性保障实践经验总结
|
消息中间件 存储 Java
Java中「Future」接口详解
有的任务只强调执行过程,并不需要追溯任务自身的执行结果;有些任务即强调执行过程,又需要追溯任务自身的执行结果;
676 0
Java中「Future」接口详解
|
Android开发
泼辣修图2023最新版功能介绍及使用教程
看了看后台管理,发现修图软件比较受大家欢迎,所以今天我打算在更新一个修图软件泼辣修图!泼辣修图是一款深受用户喜爱的修图软件,所以今天为大家推荐这款修图APP,经过汉化,所有滤镜和工具都能免费用,无任何的廣搞! 无论你是入门新手还是摄影专家,泼辣修图都可以满足你的一切需求。对于入门新手而言,泼辣修图搭载的先进自动增强工具和富有创意的图像滤镜,可以帮助他们快速雕琢图像的每一个细节。对于摄影专家而言,图层混合、局部调整、曲线工具等等功能则是他们青睐有加的专业特性。
1190 0