mysql 使用utf8mb4字符集后查询非常慢的解决办法

编程教程 > Java (2357) 2024-11-26 14:39:04


导致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中配置字符集
让客户端自己识别



 

评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
MySQL慢查询优化_MySQL慢查询排查_MySQL慢查询设置配置
mysql索引的使用基础知识摘录。
Centos MySql数据库找回root密码
MySQL分页_MySQL分页语句_MySQ如何使用limit分页,本博客将会详细讲解mysql中的分页查询。讲清楚MySQL如何编写分页查询语句。
MySQL索引优化,MySQL索引类型,MySQL索引怎么用MySQL索引怎么创建这里将会通过一些简单得sql进行讲解
在导入sql备份文件到MySQL数据库中,无论物理机安装MySQL还是docker环境安装的MySQL,思路是一样的。首先,登录进入MySQL如果是物理的,则直接执行命令mysql-u-p&gt...
MySQL查询中null转0
MySQL5.6数据库双机主从热备配置
windows系统MySQL忘记root密码找回,MySQL服务停止后通过命令临时启动
centos7中mysql配置my.cnf字符集utf-8,mysql5.6中文乱码
MySQL 安装,MySQL 安装了5.6版本,修改安装目录下的默认配置文件重启后配置无效。
运行篇命令:# docker run -d -v /jenkins/mysql55:/var/lib/mysql -p 3306:3306 --name mysql55 -e MYSQL_ROO...
前言本文主要讲解在Vert.x环境下与Mysql数据库连接和操作,实现基础的增删改查和事务,以及REST接口返回数据库中查询结果。项目引用之前的《Vert.x
背景最近有些数据需要处理下,用程序来跑也简单,但是想着能否直接通过数据库来处理。就有了本文的MySQL replace 字符串替换函数使用教程了。MySQL replace 使用参考语句:UPD...