-1

有时我们发现自己处于必须从数据库大小或性能中选择一个的情况。

我正在处理账单会计申请,我在表格设计中存储账单的详细信息

 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

坏处:-

  1. 需要在数据库中存储额外的数据,这也会增加一些性能开销,用于插入税和金额。

优势:-

  1. 只需从数据库中选择一个值。
  2. 无需执行乘法运算,这将提高我的表现。

在这样的条件下,哪一个更好更高效。

上面的问题只是解释条件的一个例子。主要问题是关于我是否在检索期间使用计算列或计算。因为如果您没有大量记录,则检索期间的计算很好,但它违反了数据库规则。检索期间计算列或计算之间的选择取决于记录数。

4

2 回答 2

1

当它成为一个真正的问题时,我总是觉得你需要担心性能。

我知道这是一个简单的例子,但是如果有正确的索引,像 SQL Server 这样的 RDBMS 将使这样的计算变得容易。

我会把实际设计放在第一位。确保您的设计符合逻辑且业务正确。

您总是可以通过使用不同数量的数据(从小到非常大的数据集,即数百万行)填充表并测试性能来测试理论。

于 2013-05-16T05:31:43.847 回答
0

考虑使用视图,因为它具有轻松更改公式(例如 TAX 公式)的额外好处,而无需更改应用程序中的所有语句。

在这里看到类似的需求计算列进行简单的乘法?

于 2013-05-16T05:41:05.220 回答