V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
z761031
V2EX  ›  问与答

自学数据库,如何规范的获取上一条记录的数据?

  •  
  •   z761031 · 243 天前 · 621 次点击
    这是一个创建于 243 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一个基础的问题想要问一下大佬们

    提高数据库的性能,要尽可能的避免计算字段

    比如 单价 * 数量 = 总价

    在 EXCEL 中,我们通常是直接相乘,来获取总价

    在数据库中,这样做会导致卡顿(上千条记录同时计算),正确的做法是每次新增记录时立刻计算好结果,然后填入到字段中

    那基于这个原则,如果我要新增一条记录

    比如 库存数量

    我需要获得上一次的库存数量,然后填入最新的计算结果,那么该如何获得上一次的库存数量呢?

    1.所有记录参与一次计算,算出库存数量。(优点是准确,缺点是后期速度会受影响)

    2.对所有记录排序,获得最后一条记录的数据。(优点是准确,缺点是后期排序速度也会受影响)

    3.不排序,直接转到最后一条记录,获取数据。(优点是速度极快,缺点是多人使用时可能准确性受影响)

    请问 1 2 3,各位选的是那种呢,或者更好的 4. 5. 6 是什么呢?

    2 条回复    2021-04-02 17:45:17 +08:00
    Ansen
        1
    Ansen   243 天前   ❤️ 1
    分表就行了,
    当前库存表和库存变化表

    更新库存直接 update 库存表

    当更新商品库存表时,把该商品的当前库存写入到库存变化表里面就行了
    z761031
        2
    z761031   243 天前
    @Ansen 完美的回答,爱你摸摸大
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2637 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:59 · PVG 21:59 · LAX 05:59 · JFK 08:59
    ♥ Do have faith in what you're doing.