【发布时间】:2018-04-17 20:03:25
【问题描述】:
我想问将总值存储到 SQL 数据库中是否是个好主意。总价值是指订单的总成本或总数量。
例如,我将有一个名为 orders 的表,其中包含创建时间、下单者等信息。Orders 将与order_items 表将保存订单中商品的 id、订单中商品的数量以及商品的销售价格(不是商品` s 原价)。
在这种情况下,我应该计算一次订单的总成本并将其存储在orders表中,还是应该每次检索带有相应商品的订单时计算? p>
【问题讨论】:
-
一般来说,我会说这是不明智的。这是非规范化。它强制每个用例添加/删除或更新订单项目以更新总数,并以安全的方式执行此操作,即使两个并发请求同时添加或删除项目。但当然,总会有取舍,有时它可以让事情变得更简单或更快。特别是如果您经常只对总数感兴趣,并且每个订单有很多很多的订单商品。
标签: sql database design-patterns store