1
dobelee 306 天前
啥场景?干掉 join ,关键字段冗余存储,或者组装数据。从业务的角度优化一下。
|
2
linauror 306 天前
查询时带上时间条件了没,如果没带可能比单表效率还差。另外直接去数据库 explain 分析一下命中了索引没
|
3
fkdog 306 天前
所以你有确定查询性能已经无任何可优化的手段后才决定分表,
还是瞄了了面经然后感性判断数据量大需要分表然后稀里糊涂的就拆了? |
7
boks 306 天前
单表查询 0.05 秒,left join 后几十上百秒?你用啥字段关联的,确定都有索引吗
|
8
SJH0402 OP |
10
openliucongbx 306 天前
最好是冗余一下,或者做个新表速度杠杠的
|
11
MetalCore 306 天前
分表需要围绕索引来, 如果分表前的索引(explain)和分表后的索引是一模一样的, 那肯定不能带来什么提升;
其次分表数据可能不均衡, 使分表没起效果 再次分表可以多分细一些, 每个片要很多大, 建议多测试测试 |
12
themostlazyman 306 天前
left join 也是扫 A 的全表吧。
|
13
SJH0402 OP @themostlazyman 对,扫 A 表全表。我是以 1000w 条数据作的测试
|
14
SJH0402 OP @MetalCore 在页面上的条件查询的两个重要组成是手机号和记录的生成时间,考虑到手机号太多,就用的 create_time,我再查一下看换一个字段会不会更好
|
15
themostlazyman 306 天前
你为啥不先用条件把 A 表的范围缩小再去 left join 。
|
16
opengps 306 天前
分表当然是因为索引本身足够大,减小索引才变快
|
17
thevita 306 天前
分表的作用就是:控制 b+tree 的深度, 让每个 tree 的规模在硬件/系统/业务 能接受的范围内.
方案: 看看 vitess? |
18
SJH0402 OP @themostlazyman 前端页面是个 table 页,默认显示全部数据的前 10 条
|
19
yingqiuQAQ 306 天前
1. 大表 Join 小表。2. Join 列类型一致并建立索引。
如果搜索的数据量大,慢是无可厚非的。 但是建议先贴下 explain 的结果,看下 SQL 是不是全是走的索引 |
20
ZephyrW 306 天前
两个分表规则一样的话,设置下 binding-tables ,连表查避免笛卡尔积
|
21
GeekGao 306 天前
是使用基于日期的 RANGE 分片吗?
|
22
bazingaterry 306 天前
述职 ppt 的内容肯定能有可见的提升……
|
23
leonme 306 天前
这么大数据量,还 join ?
|
24
laminux29 306 天前 2
什么年代了,还分库分表,给自己添麻烦,直接高主频满血 CPU + DDR5 高主频内存 + PCIE-5 NVME SSD 。
特别是 PCIE-5 NVME SSD ,多线程 4k 随机读写速度,直接拉满 6GB/s 。贵司什么业务还能超过这个性能? 自从 SSD 与 Redis 普及后,各种 BBS 、交流群中,以前经常讨论的数据库性能问题,已经很少出现了。 |
25
gerefoxing 306 天前
分表就算了吧,给自己和以后找麻烦,单表查询,其他关联信息单独查询+缓存,还有一些可以字段冗余。统计做统计表,定时时时更新
|
26
luoyou1014 306 天前
先用 mysql 自带的分区功能,可以达到分表的效果,但完全不用改动业务
|
27
zhaozs1 306 天前
# 新增分区 类似下面这样的分区,然后用分区查询看看 优化目标是缩小数据量
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));" |
28
dog82 306 天前
大表 filter 数据量超过 5%,索引就会失效
数据库架构设计时要考虑到将来的使用场景 |
30
kuituosi 306 天前
分库分表并不是银弹,还是需要考虑需求。尤其是分表的作用更加有限
分表的实质是减少数据规模,改善索引 io 效率,但是如果全表扫描的话还不如不分 分库的实质是采用多节点的计算和 io 资源分摊,来提高查询性能 oltp 的一个特点就是查询的结果集不大,否则你用任何优化方法效果都不理想 |
31
tikazyq 305 天前
上 OLAP 或者 PowerBI 吧
|
32
kanepan19 296 天前
分库分表 是解决写入不问题,不是解决查询问题。
|
33
yuyang1992test 281 天前
一般数据量大才分表吧
|