当前位置: 代码网 > it编程>数据库>Mysql > MySQL执行计划中key_len计算规则解读

MySQL执行计划中key_len计算规则解读

2026年03月06日 Mysql 我要评论
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

​总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

  • 使用MyDumper重建MySQL副本的实现

    使用MyDumper重建MySQL副本的实现

    1. 什么是 mydumper?当副本因损坏或漂移而失效时,如果无法使用 pt-table-sync,标准解决方案是从主数据库的全新副本重建副本。传统上,为了快... [阅读全文]
  • linux之MySQL的数据备份和恢复实现方式

    ​防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方。备份方式从生成备份的内容区分物理备份​直接复制数据库文件,适用于大型数据库环境,不受存储引擎的限制…

    2026年03月05日 数据库
  • MySQL索引用法实战指南

    MySQL索引用法实战指南

    一、为什么要用索引?—— 先讲个血泪故事想象你去图书馆找一本《mysql从入门到入土》:没有索引的情况(全表扫描):你从第一排书架开始,... [阅读全文]
  • MySQl 索引的使用

    验证索引效率 在未建立索引之前,执行如下sql语句,查看sql的耗时。 针对字段创建索引 然后再次执行相同的sql语句,再次查看sql的耗时索引使用 最左前缀法则 如果索引了多…

    2026年03月08日 数据库
  • 如何将mysql迁移到翰高数据库

    如何将mysql迁移到翰高数据库

    一,设置翰高数据库可以远程访问检查数据库服务状态# 检查数据库服务是否运行sudo systemctl status highgo# 如果没有运行,启动服务su... [阅读全文]
  • MySQL查询、表操作与数据管理的操作指南

    前言mysql 作为全球最流行的关系型数据库之一,广泛应用于 web 开发、数据分析等场景。对于初学者而言,掌握基础的查询语法、表结构操作、数据导入导出是入门的核心。本文将结合「学…

    2026年03月05日 数据库

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com