首页 文章

优先级数据库大小或性能c#[重复]

提问于
浏览
-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

Disadvantage:-

  • 需要在数据库中存储额外的数据,这也会增加一些性能开销,以便插入Tax和Amount .

Advantage:-

  • 只需从数据库中选择一个值 .

  • 无需执行乘法运算,这将提高我的性能 .

在这样的条件下哪一个更好,更有效率 .

上面的问题只是解释这个问题的一个例子 . 主要的问题是我是否在检索过程中使用计算列或计算 . 如果您没有大量的记录但是它违反了数据库规则,那么在检索期间计算是很好的 . 是否在计算列之间进行选择或在检索期间进行计算取决于没有记录 .

2 回答

  • 0

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

    我知道这是一个简单的例子,但是给定正确的索引,像SQL Server这样的RDBMS可以很容易地进行这样的计算 .

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

    您总是可以通过使用各种数据量(从小数据集到极大数据集,即数百万行)填充表来测试理论并测试性能 .

  • 1

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

    看到类似需要在这里Computed column for simple multiplication?

相关问题