MySQL-执行计划中key_len计算规则

Posted wandering-mind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL-执行计划中key_len计算规则相关的知识,希望对你有一定的参考价值。

影响索引长度因素:

-- 1. 索引列为字符串类型的情况

1) 列长度:

2) 列是否为空: NULL(+1),NOT NULL(+0)

3) 字符集: 如 utf8mb4=4,utf8=3,gbk=2,latin1=1

4) 列类型为字符: 如 varchar(+2), char(+0)

计算公式:key_len=(表字符集长度) * 列长度 + 1(null) + 2(变长列)


示例

1) charact_set=utf8, char(50), null

key_len=(3*50+1+0)=151

2) charact_set=utf8, char(50), not null

key_len=(3*50+0+0)=150

3) charact_set=utf8, varchar(50), null

key_len=(3*50+1+2)=153

以上是关于MySQL-执行计划中key_len计算规则的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基础篇--执行计划key_len计算

mysql explain 中key_len的计算

解读EXPLAIN执行计划中的key_len(转)

mysql explain key_len是如何计算的?

mysql explain key_len是如何计算的?

mysql explain key_len是如何计算的?