如果两个表关联的字段,在表结构中设置的字符集不一样,即使设置了索引,也无法使用。
详情可参考:
https://yq.aliyun.com/articles/69138?spm=5176.100239.bloglist.185.xQpesw
关于mysql explain时,key_len字段的计算方法:
varchr(10)变长字段且允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)+1(NULL)+2(变长字段)
varchr(10)变长字段且不允许NULL = 10 *( character set:utf8=3,gbk=2,latin1=1)+2(变长字段)
char(10)固定字段且允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)+1(NULL)
char(10)固定字段且不允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)
详情参考:http://www.cnblogs.com/gomysql/p/4004244.html
原文:http://www.cnblogs.com/yipihema/p/6371244.html