不同的RDBMS会对ORM性能测试结果产生影响吗?

Posted

技术标签:

【中文标题】不同的RDBMS会对ORM性能测试结果产生影响吗?【英文标题】:Can different RDBMS have impact on ORM performance test results? 【发布时间】:2013-05-24 11:44:52 【问题描述】:

我在 MSSQL 上做了一些 ORM 框架性能测试(EF、NH 与纯 ADO.NET 方法相比)。 EF、NH 和 ADO.NET 应该为 DB 使用相同的 ADO.NET 提供程序。我的问题是,如果 EF 在 MSSQL 上可能比 NH 有一些优势。

因此我想问是否有可能使用不同的数据库(例如 mysql)可能对 ORM 性能测试结果产生相关影响。

(相关的意思是 ORM X 的性能提高了 x%,ORM Y 的性能提高了 y% where x != y :))

【问题讨论】:

【参考方案1】:

当然。例如,MySQL 没有散列连接和合并连接。某些查询模式会在那里受到很大影响。

对我来说,使用的 RDBMS 无关紧要的概念很奇怪。不同的数据库具有非常不统一的性能特征。性能随工作负载而变化很大。

如果您想从测试中尽可能多地排除 RDBMS,您必须仔细确保您不会意外测试任何 RDBMS 特定的性能特性。这很难。

【讨论】:

【参考方案2】:

当然。即使是同一个 RDBMS 上的不同设置也会导致不同的测试结果。

【讨论】:

以上是关于不同的RDBMS会对ORM性能测试结果产生影响吗?的主要内容,如果未能解决你的问题,请参考以下文章

卷积层中的偏差真的会对测试精度产生影响吗?

Hibernate项目里配置环境时,jar包配置不当会对测试结果产生影响。

使用Blogger或WordPress会对我的网站排名产生任何影响吗?

未使用的导入和对象是不是会对性能产生影响

为啥drawRect的空实现:会对动画期间的性能产生不利影响

以兼容级别 80 运行 SQL Server 2005 数据库是不是会对性能产生负面影响?