mysql 使用utf8mb4字符集后查询非常慢的解决办法
导致mysql 使用utf8mb4字符集后查询非常慢的原因
环境检查:
MySQL配置文件中配置为:
[client]
default-character-set=utf8mb4
#...
[mysql]
default-character-set=utf8mb4
#...
[mysqld]
character-set-server=utf8mb4
#...
检查数据库字符集设置并无问题。
再次检查Java项目中的数据连接池配置:
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
发现问题:
指定的utf8
解决办法:
修改Java连接为:
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
注意:UTF8MB4的写法与utf-8写法有些区别逆转一下否则提示不支持的字符集格式
方法二(推荐):
不要在jdbc url中配置字符集
让客户端自己识别