一、key_len字段解释
- 表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。在不损失精确性的情况下,长度越短越好;
- key_len显示的值为索引字段的最大可能长度,并非实际使用长度,即key_len是根据表定义计算而得,不是通过表内检索出的
如何计算
总结一下:char(30) utf8 --> key_len = 30*3 +1 表示 utf8 格式需要 *3 (跟数据类型有关)
允许为 NULL +1 ,不允许 +0
动态类型 +2 (动态类型包括 : varchar , detail text() 截取字符窜)
第一组:key_len=deptno(int)+null + ename(varchar(20)3+动态 =4+1+203+2= 67
第二组:key_len=deptno(int)+null=4+1=5
- key_len字段能够帮你检查是否充分的利用上了索引
下图可知,充分的利用了索引的查询效率会更高。