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