首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将业务逻辑从数据库迁移到业务层(.NET技术)

将业务逻辑从数据库迁移到业务层(.NET技术)
EN

Software Engineering用户
提问于 2017-02-17 16:17:34
回答 1查看 911关注 0票数 5

我有一个在ASP.NET技术中运行的现有项目。目前,整个业务逻辑计算正在数据库sProcs (MS )中进行。有时,当大量用户在一天中繁忙的时间使用该应用程序时,它会变得很慢。

现在,我们希望将一些业务逻辑处理移出DB,并在业务层(C#)端执行它。我试图了解如何从数据库中获取数据并对其执行一些计算,然后再将提供的数据保存回DB。

我可以从DB中获取原始数据,然后将其序列化为XML,然后将该XML传递给BL层。在BL层中,XML将反序列化为强类型的业务对象。然后,使用Linq,我可以对其执行一些操作(如Sum、Avg等)。

请提出你的建议。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2017-02-17 17:44:06

注意!如果我正确地理解你,你所描述的将会慢得多。

如果在SQL中运行聚合操作,如Sum、Avg等,它们的速度相当快。只有在对非常大的数据集进行操作时,它们才会很慢。如果您有一个大型数据集,那么将整个数据集传输到客户端并在那里执行聚合操作要慢得多。序列化到XML并再次反序列化将使其速度更慢。

首先,您可能应该仔细研究一下为什么会出现性能问题。您可能会遇到一些锁定问题或效率低下的查询。

我认为业务逻辑这一术语通常过于宽泛。某些形式的业务逻辑属于数据库,有些形式属于客户端。对数据执行连接、过滤或聚合的所有业务逻辑都属于数据库。如果你把它转移到客户端,你只会遇到可怕的性能问题。

票数 8
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/342473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档