Mysql踩过的坑 索引失效 隐式类型转换

## 博主所在项目, 2期项目是mysql5.6版本, 其使用的字符集是utf8
在3期项目进行开发的时候, 有一部分现成的表直接拷贝过来3期项目去使用
3期项目mysql版本是8.0.20 
默认约束使用的字符集是utf8mb4
在使用连表查询的时候, 发现无法走索引 虽然都是varchar类型, 但是因为字符集的问题导致了索引失效
因为即使是同样的varchar类型, utf8是3个bit一个字节, 而utf8mb4是4个bit一个字节
产生了隐式的类型转换
修改2期表的字符集为utf8mb4后, 果然连表查询快了许多~

posted on 2022-08-29 14:57  の再见二丁目  阅读(57)  评论(0)    收藏  举报