当前位置: 代码网 > it编程>数据库>Mysql > mysql关联查询速度慢的问题及解决

mysql关联查询速度慢的问题及解决

2025年03月13日 Mysql 我要评论
mysql关联查询速度慢1. 记录原因mysql关联查询速度很慢,是由于字段字符集规则不一致所导致1.1 在一次线上的服务中发现有几个关联查询速度特别慢,试过了多种优化方案,最后把问题定格在 coun

mysql关联查询速度慢

1. 记录原因

mysql关联查询速度很慢,是由于字段字符集规则不一致所导致

1.1 在一次线上的服务中

  • 发现有几个关联查询速度特别慢,试过了多种优化方案,最后把问题定格在 count() 这个函数
  • 由于是分页查询,所以肯定会有count()来去查询记录数,但是每次执行这个count()都会卡住好几秒

1.2 最终发现

  • 被关联的两个表 字符集规则不一致,一个是utf8_general_ci,另一个是utf8mb4_0900_ai_ci
  • 具体原因可能是因为线上服务器和本地服务器的mysql版本不同导致的,在覆盖的时候出现了问题

2. 解决方案

# 查看各个字段的字符集规则:
show full columns from 表名;
# 修改字段的字符集:
alter table 表名 change 字段名 字段名 varchar(100) character set utf8 collate utf8_general_ci;
# 修改表的默认字符集:
alter table 表名 default character set utf8 collate utf8_general_ci;
# 查看数据库编码:
show create database db_name;
# 查看表编码:
show create table tbl_name;

3. 具体操作

  • 这边我是一个字段一个字段的改 把两个表的字段都统一成了utf8_general_ci格式
alter table 表名 change 字段名 字段名 varchar(255) 
character set utf8 collate utf8_general_ci;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com