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

2021-04-02 17:08:26 +08:00
 z761031

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

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

比如 单价 * 数量 = 总价

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

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

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

比如 库存数量

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

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

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

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

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

1181 次点击
所在节点    问与答
2 条回复
Ansen
2021-04-02 17:28:06 +08:00
分表就行了,
当前库存表和库存变化表

更新库存直接 update 库存表

当更新商品库存表时,把该商品的当前库存写入到库存变化表里面就行了
z761031
2021-04-02 17:45:17 +08:00
@Ansen 完美的回答,爱你摸摸大

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

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

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

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

© 2021 V2EX