mysql 单表即将上 2 千万数据 存授权的 性能跟不上了 怎么优化

2020-05-08 18:23:30 +08:00
 fengya68

存商品授权的 每个门店对应每个商品的授权 现在有 8000 多商品 7000 多家门店 目前已经有 1800 多万条数据了 要怎么破 即将到性能瓶颈了

5845 次点击
所在节点    程序员
43 条回复
zoharSoul
2020-05-08 18:26:18 +08:00
加钱呗
阿里云 rds 4c8g 的我试过单表 2 亿多数据,
单表查询没啥压力
cominghome
2020-05-08 19:49:44 +08:00
@zoharSoul 4c8g 能搞 2 亿行?这么猛的吗?还是说字段少?
Nitromethane
2020-05-08 20:03:13 +08:00
数据同步到 ES 一份,读请求走 ES ;
peyppicp
2020-05-08 20:08:40 +08:00
按照门店 id 分库分表,水平拆分到 101 个库里,表变为逻辑表,单表 18w 数据
wqhui
2020-05-08 20:19:54 +08:00
分表呗,读频繁的话就做主从读写分离或者用缓存
opengps
2020-05-08 20:39:56 +08:00
表分区,分表,分库,集群
就这么个优化路线
sagaxu
2020-05-08 20:41:40 +08:00
才 2000 万就慢,分表没用
CStarter
2020-05-08 23:36:48 +08:00
@peyppicp 101 个库?
vinsa
2020-05-09 01:16:05 +08:00
才 2KW 数据怕啥,分个区就好了,还能上个 10 倍,主键查询瞬回。
sonxzjw
2020-05-09 08:15:55 +08:00
简单,分表分库
yc8332
2020-05-09 08:48:19 +08:00
这种东西存下来后面不都是走缓存的吗
pmispig
2020-05-09 09:12:09 +08:00
上 ssd,上好的 ssd,换 cpu 换主频高的 cpu
fareware
2020-05-09 09:34:08 +08:00
2kw 慢不是硬件或者设计问题吗?
mymike
2020-05-09 09:56:25 +08:00
根本没必要分库分表 ES,硬件性能与配置可能需要调整下,其实单机上亿没有丝毫问题
fengya68
2020-05-09 10:12:44 +08:00
@zoharSoul 有道理 现在表结构是 MyIsam 有必要转 InnoDb 吗
fengya68
2020-05-09 10:14:19 +08:00
@mymike 商城类就怕延迟高,现在有时候就会卡一下 看来优化还有很长的一段路
zoharSoul
2020-05-09 10:14:47 +08:00
@fengya68
看你查询逻辑了.
一般来说可以转
zoharSoul
2020-05-09 10:16:35 +08:00
@cominghome 字段比较少就 10 多个吧.
合理的索引 + 相对简单的查询..
现在 mysql 的性能超乎你的想象...

别听那些讲面试的瞎几把扯淡,几百万就分库分表很多时候是纯粹给自己加戏.
encro
2020-05-09 10:19:16 +08:00
所有的 mysql 慢问题的三个常规操作:
1,慢日志;
2,慢日志分析工具;
3,explain ;
kiddult
2020-05-09 10:21:59 +08:00
@fengya68 卡一下多半和 mysql 没啥关系,查一下慢日志,100%有人查询没走索引瞎操作了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/669743

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX