django 水平分表,如何将多个表的数据进行汇总分页?

2019-12-02 18:56:38 +08:00
 aibuzhe
另外,水平分表后,filter 要从多张表查询,不仅增加了查询次数,还要对结果进行合并。性能上是否可取?
3793 次点击
所在节点    Django
12 条回复
aibuzhe
2019-12-02 19:02:01 +08:00
有经历过的吗?
aibuzhe
2019-12-02 19:02:46 +08:00
有了两条回复后,主题是否可以修改
aibuzhe
2019-12-02 19:03:41 +08:00
实测 V2EX,不论是问题还是主题,只要有了 2 条回复,变不可修改
NaVient
2019-12-02 19:08:21 +08:00
数据库层面做分表逻辑,不牵扯业务层
zhoudaiyu
2019-12-02 19:51:00 +08:00
OneToOneField ?
wuwukai007
2019-12-02 21:51:28 +08:00
写原生 sql 吧
wzwwzw
2019-12-02 21:56:00 +08:00
写原生 sql 吧。
dusu
2019-12-02 21:59:35 +08:00
有个东西叫索引表
Jemini
2019-12-02 22:00:49 +08:00
union all 可以联表
SmiteChow
2019-12-04 10:32:45 +08:00
水平分表实质上是把需要查询的字段归集到一张表 A,其他额外信息字段归集到额外表 B.C..X,业务请求时查询 A 表拿到所有主键,再根据主键拉去 B.C..X 表中额外信息,通常分页情况下主键数量是可控的,性能没问题。
SmiteChow
2019-12-04 10:34:59 +08:00
性能当然没问题,分表不就是为了解决性能问题吗?差点被你绕进去
aibuzhe
2020-04-09 16:15:24 +08:00
@SmiteChow 你这个是垂直分表吧

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

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

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

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

© 2021 V2EX