mysql执行计划中key_len计算规则今天来说一下mysql执行计划中key_len的计算,当用explain查看sql的执行计划时,执行计划中会显示出key_len的值,根据这个值可以判断联合索
mysql执行计划中key_len计算规则
今天来说一下mysql执行计划中key_len的计算,当用explain查看sql的执行计划时,执行计划中会显示出key_len的值,根据这个值可以判断联合索引的覆盖长度,从而在可以获知sql语句走了联合索引中的哪些索引。(覆盖长度一般情况是越长越好)
影响索引长度因素
(索引列为字符串类型的情况)

key_len的计算公式
- varchar():表字符集长度*列长度+2(变长)+1(null) 若是列被定义为"not null",则不需要加1
- char():表字符集长度*列长度+1(null) 若是列被定义为"not null",则不需要加1
常用的字符集:
- utf8mb4:4个字节
- utf8:3个字节
- gbk:2个字节
- latin:1个字节
示例:
表的字符集选用utf8mb4,计算
varchar(10),not null ---> key_len=4*10+2=42
char(10),null ---> key_len=4*10+1=41
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
相关文章:
-
-
防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方。备份方式从生成备份的内容区分物理备份直接复制数据库文件,适用于大型数据库环境,不受存储引擎的限制…
-
-
验证索引效率 在未建立索引之前,执行如下sql语句,查看sql的耗时。 针对字段创建索引 然后再次执行相同的sql语句,再次查看sql的耗时索引使用 最左前缀法则 如果索引了多…
-
-
前言mysql 作为全球最流行的关系型数据库之一,广泛应用于 web 开发、数据分析等场景。对于初学者而言,掌握基础的查询语法、表结构操作、数据导入导出是入门的核心。本文将结合「学…
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论