V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Kontinue
V2EX  ›  程序员

是否应该为了前端显示而在数据库添加冗余表?

  •  1
     
  •   Kontinue · 2018-02-02 10:24:33 +08:00 · 2985 次点击
    这是一个创建于 2511 天前的主题,其中的信息可能已经有所发展或是发生改变。

    业务中有许多表关联的操作,做查询、分页查找比较难,请问是否应该为了方便操作而在数据库中添加一些冗余表?很纠结,不知道如何设计。

    8 条回复    2018-02-03 08:19:24 +08:00
    xiqian
        1
    xiqian  
       2018-02-02 10:37:44 +08:00
    试试放到缓存中
    yidinghe
        2
    yidinghe  
       2018-02-02 10:45:36 +08:00
    可以考虑将常用关联保存为视图,以减轻开发工作量。
    spritevan
        3
    spritevan  
       2018-02-02 10:52:28 +08:00
    同步到 es 里做查询
    然后又多了许多新问题 🐶
    lihongjie0209
        4
    lihongjie0209  
       2018-02-02 10:57:57 +08:00
    冗余的前提是状态不会频繁的改变, 不然会导致最终的状态不一致.

    我的想法是通过模版引擎生成 sql, 把 sql 动态化.
    Immortal
        5
    Immortal  
       2018-02-02 10:58:42 +08:00
    其实有个问题 为什么关联操作会影响到分页?
    我觉得一般这种情况不会做冗余表,冗余表最合适的还是用在统计数据上
    你这样多一个冗余表,后期维护成本太大了
    aricch
        6
    aricch  
       2018-02-02 13:58:34 +08:00
    视图是干嘛使的?
    Kontinue
        7
    Kontinue  
    OP
       2018-02-02 21:17:32 +08:00
    @Immortal
    我现在有订单表和订单明细表。然后每个订单可以绑定若干张卡,我需要在一个页面,显示所有的订单明细数据。比如说 1 条订单,有 2 条明细,绑定了 2 张卡,那一个页面需要啊显示 4 条明细数据。
    Cbdy
        8
    Cbdy  
       2018-02-03 08:19:24 +08:00 via Android
    视图或缓存好一点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5179 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 09:19 · PVG 17:19 · LAX 01:19 · JFK 04:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.