数据库分片以后,一些分页查询会不会性能很低,一般都是怎么解决的

来源:3-3 高并发下的用户中台场景分析

WittChen

2023-06-21

老师您好,其实有个问题我一直在想,数据库分片存储以后,那就意味着一张表分到了多个库里面去
举个例子:文章表,假如1000万条数据记录,我到10个数据库去存,如果ID查询那么性能影响不大,像您说的,一些中间件会根据一定的算法算到ID存到了哪个库,去那个库查就行了。
那么如果是分页这种我根据日期,或者根据权重,我要筛选前10条记录,那么这时我个人理解是必须进行全表扫描,而且是10个库一起进行,然后中间件再信息汇总,估计底层会把数据再合成一张临时表,再执行下这个sql,把数据取出来给我们,如果是这样的话,会不会效率很低,但是这样一分析,感觉还是比一个库要快,毕竟10台机器一起执行

那么实际工作场景只能这样吗,还是说有更好的方法?

写回答

1回答

Danny_Idea

2023-06-21

分库分表这种方案 其实只能在简单 sql 上有明显的优势,对于一些复杂场景而言,优势就会弱下来。

像你说的这个场景 ,这种其实比较适合做数据异构,例如把数据同步到 es 中,在 es 里面去做复杂查询。
0
0

SpringCloudAlibaba高并发仿斗鱼直播平台实战

SpringCloudAlibaba高并发仿斗鱼直播平台实战

421 学习 · 344 问题

查看课程