有一个基础的问题想要问一下大佬们
提高数据库的性能,要尽可能的避免计算字段
比如 单价 * 数量 = 总价
在 EXCEL 中,我们通常是直接相乘,来获取总价
在数据库中,这样做会导致卡顿(上千条记录同时计算),正确的做法是每次新增记录时立刻计算好结果,然后填入到字段中
那基于这个原则,如果我要新增一条记录
比如 库存数量
我需要获得上一次的库存数量,然后填入最新的计算结果,那么该如何获得上一次的库存数量呢?
1.所有记录参与一次计算,算出库存数量。(优点是准确,缺点是后期速度会受影响)
2.对所有记录排序,获得最后一条记录的数据。(优点是准确,缺点是后期排序速度也会受影响)
3.不排序,直接转到最后一条记录,获取数据。(优点是速度极快,缺点是多人使用时可能准确性受影响)
请问 1 2 3,各位选的是那种呢,或者更好的 4. 5. 6 是什么呢?
1
Ansen 2021-04-02 17:28:06 +08:00 1
分表就行了,
当前库存表和库存变化表 更新库存直接 update 库存表 当更新商品库存表时,把该商品的当前库存写入到库存变化表里面就行了 |