执行计划Explain中key_len的计算方法是不是被网上的好多帖子给整蒙了,特整理一个帖子,只要数学不是体育老师教的都能看懂。
影响key_len的因素有1、字符集;2、数据类型;3、定义长度;4、是否为null;
key_len的计算方法详见下表:
字符集 |
数据类型 |
字段 定义长度 |
是否可为null |
Key_len值 |
(Utf-8)3 |
(varchar)2 |
6 |
(否)0 |
3*6+2=20 |
(Utf-8)3 |
(varchar)2 |
6 |
(是)1 |
3*6+2+1=21 |
|
|
|
|
|
(Utf-8)3 |
(char)0 |
6 |
(否)0 |
3*6=18 |
(Utf-8)3 |
(char)0 |
6 |
(是)1 |
3*6+1=19 |
|
|
|
|
|
(Utf-8)0 |
(int)4 |
0 |
(否)0 |
4 |
(Utf-8)0 |
(int)4 |
0 |
(是)1 |
4+1=5 |
|
|
|
|
|
其他: