explain 性能分析(三)
一 key_len
表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。
在不损失精确性的情况下,长度越短越好。
key_len 字段能够帮你检查是否充分的利用上了索引。ken_len 越长,说明索引使用得越充分。
key_len 显示的值为索引长度的最大可能长度,并非实际使用长度,即 key_len 是根据表定义计算而得,不是通过表内检索出的。
二 实战1
ken_len 越长,索引使用得越充分。查询的结果越精确。
三 实战2
1 表结构
2 explain 分析
3 计算方法
a 先看索引上字段的类型。比如 int=4 ; varchar(20) =20 ; char(20) =20
b 如果是 varchar 或者 char 这种字符串字段,视字符集要乘不同的值,比如 utf-8 要乘 3,GBK 要乘 2
c varchar 这种动态字符串要加 2 个字节
d 允许为空的字段要加 1 个字节
第一组:key_len=age 的字节长度 + name 的字节长度 = 4 + 1 + ( 20 * 3 + 2 ) = 5 + 62 = 67
第二组:key_len=age 的字节长度 = 4 + 1 = 5
还没有评论,来说两句吧...