aibuzhe
V2EX  ›  Django

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

  •  
  •   aibuzhe · Dec 2, 2019 · 5277 views
    This topic created in 2528 days ago, the information mentioned may be changed or developed.
    另外,水平分表后,filter 要从多张表查询,不仅增加了查询次数,还要对结果进行合并。性能上是否可取?
    12 replies  •  2020-04-09 16:15:24 +08:00
    aibuzhe
    aibuzhe
    OP
    Dec 2, 2019
    1
    有经历过的吗?
    aibuzhe
    aibuzhe
    OP
    Dec 2, 2019
    2
    有了两条回复后,主题是否可以修改
    aibuzhe
    aibuzhe
    OP
    Dec 2, 2019
    3
    实测 V2EX,不论是问题还是主题,只要有了 2 条回复,变不可修改
    NaVient
    NaVient
    Dec 2, 2019❤️1
    4
    数据库层面做分表逻辑,不牵扯业务层
    zhoudaiyu
    zhoudaiyu
    Dec 2, 2019 via iPhone
    5
    OneToOneField ?
    wuwukai007
    wuwukai007
    Dec 2, 2019 via Android
    6
    写原生 sql 吧
    wzwwzw
    wzwwzw
    Dec 2, 2019
    7
    写原生 sql 吧。
    dusu
    dusu
    Dec 2, 2019 via iPhone
    8
    有个东西叫索引表
    Jemini
    Jemini
    Dec 2, 2019 via iPhone
    9
    union all 可以联表
    SmiteChow
    SmiteChow
    Dec 4, 2019
    10
    水平分表实质上是把需要查询的字段归集到一张表 A,其他额外信息字段归集到额外表 B.C..X,业务请求时查询 A 表拿到所有主键,再根据主键拉去 B.C..X 表中额外信息,通常分页情况下主键数量是可控的,性能没问题。
    SmiteChow
    SmiteChow
    Dec 4, 2019
    11
    性能当然没问题,分表不就是为了解决性能问题吗?差点被你绕进去
    aibuzhe
    aibuzhe
    OP
    Apr 9, 2020
    12
    @SmiteChow 你这个是垂直分表吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5111 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 06:39 · PVG 14:39 · LAX 22:39 · JFK 01:39
    ♥ Do have faith in what you're doing.