首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何评估数据访问层b/w两个ORM的性能?

如何评估数据访问层b/w两个ORM的性能?
EN

Software Engineering用户
提问于 2015-03-30 17:52:54
回答 1查看 279关注 0票数 1

我目前正在做一个项目,在这个项目中,我将把数据访问层从自定义的ORM替换为实体框架(该产品几乎已经完成,完成后的任何更改都将是更改请求或错误修复)。

  • 当比较两种ORM的性能指标时,我应该考虑哪些性能指标,以及为什么?
EN

回答 1

Software Engineering用户

回答已采纳

发布于 2015-03-30 18:01:42

绝对最重要的度量将是执行的数据库查询的数量。如果ORM对逻辑代码的转换导致了不同数量的查询,这将产生一种效果,使任何其他差异都相形见绌。您应该特别注意"n+1"-pattern,其中ORM将在遍历子对象时对集合中的每个项执行单独的查询。至少在EF中,您通常可以在加载子对象的急切和懒惰(n+1)之间做出选择,所以在排除其中一个对象之前,一定要知道如何最优地使用ORM。

其次,您应该查看从数据库返回的数据量。如果一个ORM在客户端执行某些筛选,而另一个在sql中执行某些筛选,则可能存在差异。在将过滤器转换为sql方面,有些ORMS比其他的更聪明。显然,最好在数据库端尽可能多地进行过滤。

另一方面,如果ORM生成等价的sql (这并不是不可能的),那么性能差异很可能很小,甚至可以忽略不计,您的选择应该基于其他因素,比如可维护性和开发人员的熟悉程度。

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

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

复制
相关文章

相似问题

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