mysql关联查询速度慢的问题及解决!
mysql关联查询速度慢的问题及解决!
作者:一个爱看综艺的程序猿
这篇文章主要介绍了mysql关联查询速度慢的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教。
mysql关联查询速度慢
1. 记录原因
mysql关联查询速度很慢,是由于字段字符集规则不一致所导致
1.1 在一次线上的服务中
- 发现有几个关联查询速度特别慢,试过了多种优化方案,最后把问题定格在 count() 这个函数
- 由于是分页查询,所以肯定会有count()来去查询记录数,但是每次执行这个count()都会卡住好几秒
1.2 最终发现
- 被关联的两个表 字符集规则不一致,一个是utf8_general_ci,另一个是utf8mb4_0900_ai_ci
- 具体原因可能是因为线上服务器和本地服务器的mysql版本不同导致的,在覆盖的时候出现了问题
2. 解决方案
1
2
3
4
5
6
7
8
9
10
|
# 查看各个字段的字符集规则: 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格式
1
2
|
ALTER TABLE 表名 CHANGE 字段名 字段名 varchar (255) CHARACTER SET utf8 COLLATE utf8_general_ci; |
总结
以上为个人经验,希望能给大家一个参考。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。
共有 0 条评论