mysql 分表能带来哪些显著的,可见的提升?

2024-02-19 15:45:50 +08:00
SJH0402  SJH0402
前提:
1 、未分库
2 、表 A 年数据量 1000w ,表 B 年数据量 5000w
3 、原业务中的 sql 涉及到 left join 查询,总是超时

两个表都使用 create_time 字段按月份分表 12 个,
在分表后,left join 的查询效率没有丝毫提升,
单表查询效率略微下降 (0.02 秒 > 0.05 秒)?

分表工具使用的是 mycat 以及 sharding-proxy (都有尝试)。

因为是第一次尝试 mysql 分表,所以很疑惑,分表带来的究竟是哪方面的提升?
还是说我的分表字段或者 sql 有问题
4298 次点击
所在节点   MySQL  MySQL
33 条回复
R4rvZ6agNVWr56V0
R4rvZ6agNVWr56V0
2024-02-19 22:15:33 +08:00
是使用基于日期的 RANGE 分片吗?
bazingaterry
bazingaterry
2024-02-19 23:08:57 +08:00
述职 ppt 的内容肯定能有可见的提升……
leonme
leonme
2024-02-19 23:27:22 +08:00
这么大数据量,还 join ?
laminux29
laminux29
2024-02-20 06:39:42 +08:00
什么年代了,还分库分表,给自己添麻烦,直接高主频满血 CPU + DDR5 高主频内存 + PCIE-5 NVME SSD 。

特别是 PCIE-5 NVME SSD ,多线程 4k 随机读写速度,直接拉满 6GB/s 。贵司什么业务还能超过这个性能?

自从 SSD 与 Redis 普及后,各种 BBS 、交流群中,以前经常讨论的数据库性能问题,已经很少出现了。
gerefoxing
gerefoxing
2024-02-20 09:20:33 +08:00
分表就算了吧,给自己和以后找麻烦,单表查询,其他关联信息单独查询+缓存,还有一些可以字段冗余。统计做统计表,定时时时更新
luoyou1014
luoyou1014
2024-02-20 09:32:44 +08:00
先用 mysql 自带的分区功能,可以达到分表的效果,但完全不用改动业务
zhaozs1
zhaozs1
2024-02-20 10:18:05 +08:00
# 新增分区 类似下面这样的分区,然后用分区查询看看 优化目标是缩小数据量
echo "alter table t_car_gps reorganize partition p230 into ( PARTITION p$pend_date2 VALUES LESS THAN ('$pend_date'), partition p230 VALUES LESS THAN (MAXVALUE));"
dog82
dog82
2024-02-20 10:26:30 +08:00
大表 filter 数据量超过 5%,索引就会失效
数据库架构设计时要考虑到将来的使用场景
MoYi123
MoYi123
2024-02-20 10:29:39 +08:00
@SJH0402 你要是能直接把查询优化好, 有人会不听你的方案吗?
kuituosi
kuituosi
2024-02-20 11:52:44 +08:00
分库分表并不是银弹,还是需要考虑需求。尤其是分表的作用更加有限
分表的实质是减少数据规模,改善索引 io 效率,但是如果全表扫描的话还不如不分
分库的实质是采用多节点的计算和 io 资源分摊,来提高查询性能
oltp 的一个特点就是查询的结果集不大,否则你用任何优化方法效果都不理想
tikazyq
tikazyq
2024-02-20 14:24:16 +08:00
上 OLAP 或者 PowerBI 吧
kanepan19
kanepan19
2024-02-29 22:50:05 +08:00
分库分表 是解决写入不问题,不是解决查询问题。
yuyang1992test
yuyang1992test
2024-03-15 16:10:43 +08:00
一般数据量大才分表吧

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

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

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

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

© 2021 V2EX