【问题标题】:Business Logic In Application Or Database Level [closed]应用程序或数据库级别的业务逻辑
【发布时间】:2014-10-14 20:00:17
【问题描述】:

我想确定在application level or database server level 中写入业务逻辑的位置。例如,如果我有一个简单的过程来求和总价。调用带有逻辑的过程来求和所有它们和在应用程序级别迭代每个实体并在调用select *后求总和之间有什么区别@

数据库级别:

SELECT 
SUM(sod.UnitPrice) 
FROM Sales.SalesOrderDetail AS sod

应用级别:

foreach (var person IN context.GetAllPpl())
{
    price += person.price;
}

性能观点的最佳方法是什么?

【问题讨论】:

  • 有很多这样的问题:这取决于...
  • 实际提出的问题的答案(从性能的角度来看,最好的方法是什么)根本不是“主要基于意见的”。事实上回答这个问题所需要的只是计算通过网络序列化的对象的数量。这不是意见,这是事实。

标签: c# sql .net database


【解决方案1】:

如果您的唯一目标是获取 UnitPrice 的总和,那么在 SQL 查询中进行求和会更有效。这将始终只选择一行和一列,而不是每一行和每一列。

SELECT 
SUM(sod.UnitPrice) 
FROM Sales.SalesOrderDetail AS sod

【讨论】:

    猜你喜欢
    • 2015-11-10
    • 2013-04-12
    • 2011-10-23
    • 2016-10-11
    • 2013-12-05
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多