这是一个充满挑战的问题:)您应该了解几个数据库编程体系结构设计,以及它们的成本/收益是什么。 2层通常意味着您有一个客户端连接到数据库,并发出直接的SQL调用。 3层通常表示您有一个“应用程序服务器”,它向数据库发出直接的SQL调用,但是客户端正在与应用程序服务器通信。 通常,这提供了“向外扩展”。 最后,您拥有采用2层格式的2 1/2层应用程序,只有工作在存储过程中进行了划分。
您的流程听起来像是“后台”,客户/流程只需要每月一次汇总和缓存结果。 也就是说,没有代理可以连接并且经常连接,并说“进行这些计算”。 相反,您暗示了一个不时发生的过程,并且您可以摆脱非实时性。
因此,考虑到这些要求,我通常会说,更接近数据会更快,让SQL Server执行所有计算。 我认为您会发现与数据的接近将为您提供很好的服务。
但是,在执行这些计算时,您可能会发现某些计算不适合SQL Server。 以计算债券或任何固定收益工具的应计利息为例。 SQL不是很漂亮,更适合于更丰富的编程语言。 但是,如果您只有简单的平均值和其他相对合理的聚合,那么我会在SQL方面坚持使用存储过程。
再说一次,关于您的计算的性质,您的房屋在开发人员的SQL功能方面的支持要求,您的老板说的是什么……都没有足够的信息……但是由于我了解我的SQL知识,并且喜欢保持接近数据,我将保持纯SQL / Stored Procedures这样的任务。
YMMV :)