有时我们发现自己处于必须从数据库大小或性能中选择一个的情况。
我正在处理账单会计申请,我在表格设计中存储账单的详细信息
BillNo ProductName Qty Rate
1 aaaa 1 12
我了解到,将我们可以在运行时计算的数据存储在数据库中(如Amount(Qty*Rate)
, Tax(Amount*5/100)
.
但是在某些时候,我需要数千个条目的总金额和总增值税,如果我首先遵循上述方法,我需要选择 Qty , Rate
然后对每一行执行乘法,然后执行加法,这肯定会很耗时。
我在想什么:-继续使用存储数据的方法,例如
BillNo ProductName Qty Rate Tax Amount
1 aaaa 1 12 4 16
坏处:-
- 需要在数据库中存储额外的数据,这也会增加一些性能开销,用于插入税和金额。
优势:-
- 只需从数据库中选择一个值。
- 无需执行乘法运算,这将提高我的表现。
在这样的条件下,哪一个更好更高效。
上面的问题只是解释条件的一个例子。主要问题是关于我是否在检索期间使用计算列或计算。因为如果您没有大量记录,则检索期间的计算很好,但它违反了数据库规则。检索期间计算列或计算之间的选择取决于记录数。