在SQL server中运行sum与在代码中处理sum相比,存在哪些性能问题?

在SQL server中运行sum与在代码中处理sum相比,存在哪些性能问题?,sql,view,Sql,View,我正在做一个项目,因为这是我第一次尝试ef,我不太确定如何进行某些事情,比如计算我使用SQL计算字段来处理行和(数量*价格)和一些计算和()的SQL视图 在过去,我会启动一个视图或存储过程 更新 我认为被问到的问题是,是使用混合解决方案来计算SQL内部的行,还是将其转换为代码并在Web服务器上处理 结果 我继续使用sql server选项,但现在转到nosql,我知道我应该让应用程序的代码来处理它,因为这将使它更通用我的经验是,数据库在这方面速度非常快,因为它们针对这些操作进行了大量优化 也可以

我正在做一个项目,因为这是我第一次尝试ef,我不太确定如何进行某些事情,比如计算我使用SQL计算字段来处理行和(数量*价格)和一些计算和()的SQL视图

在过去,我会启动一个视图或存储过程

更新

我认为被问到的问题是,是使用混合解决方案来计算SQL内部的行,还是将其转换为代码并在Web服务器上处理

结果
我继续使用sql server选项,但现在转到nosql,我知道我应该让应用程序的代码来处理它,因为这将使它更通用

我的经验是,数据库在这方面速度非常快,因为它们针对这些操作进行了大量优化

也可以考虑另一种选择。假设您想要计算50000行结果集的总和(数量*价格)(不管表大小如何,假设您的查询是50000行)。如果你在你的应用程序中这样做了,你必须检索50k对整数(让我们假设它们是整数,并且是32位的-它们可能不是)。这是每行64位,50k行,给我们3.2M位,或400KB的数据

现在数据库必须通过网络将数据发送给你的应用程序,你的应用程序必须等待数据,将其全部读取到某个数据结构中,然后对其进行迭代。该操作的网络传输时间将抹去您在应用程序中进行计算时可能节省的任何费用

相比之下,如果DB做了总和,则必须传输的数据要少得多。如果能够缓存数据库大小上的查询(当然,这是特定于供应商的),也可能会有一些好处

简而言之,除非你有一个很好的理由在你的应用程序中做这类事情,否则就把它留给数据库,省得你自己头疼