千万级的mysql数据库如何做性能优化

发布于 2022-09-01 18:07:09 字数 278 浏览 14 评论 0

目前的业务场景如下:
有一个账单数据库mysql的,每天从信息源单位交换一个城市的水电煤账单数据,每天的量非常大(最高一天有20w,一个星期有100w,一个月有400多w),目前程序已经运行了大半年了,数据库里面的数据是越来越多已达到两千多万,后面肯定会更多。但是就现在的查询,统计,和正常的插入效率而言,已经越来越低了。
目前数据库采用的是pxc集群方式,版本是PerconaXtraDBCluster-5.6.20-25.7
请问在保持同等的数据增长的情况下如何实现性能调优。不管是从程序层面还是mysql层面,都可以。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

公布 2022-09-08 18:07:10

1.先把慢的SQL搞定(重点是索引)
2.MySQL,集群,操作系统的设置
2.我确定没有多少优化空间了,是不是表结构设计得不合理,重构是否能保证数据不损失,且划算?
4.我们需要更多的硬件资源!

明媚如初 2022-09-08 18:07:10

按月分表考虑考虑

牵你的手,一向走下去 2022-09-08 18:07:10

楼上所说的分表策略是互联网企业通用的做法,想对业务改动不大,可以在datasource层分表,基本不影响业务代码,现在当当刚开源了一个组件sharding-jdbc,应该不错;也可以用支持mysql的中间件比如cobar、mycat、oneproxy,这种不用改代码,但是运维上要麻烦些;分表后数据迁移是必不可少的工作,代码改动其实真的不大

歌枕肩 2022-09-08 18:07:10

按照先后顺序

1 加索引、改写sql
2 加缓存。memcache、redis之类
3 主从复制、读写分离
4 垂直拆分。例如一个表的字段过多,拆成两个一个主表和一个附加表,常用的字段放到主表中,少用的字段放到附加表中。
5 水平拆分。

纯属个人理解。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文