执行计划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 |
|
|
|
|
|
|
其他:

解读MySQL执行计划Explain中的key_len
810

被折叠的 条评论
为什么被折叠?



