【发布时间】:2011-12-03 04:48:21
【问题描述】:
我们第一次尝试在我的 VS2010 和 Oracle 项目中使用 nHibernate。
应用程序的性能是接受这个项目的关键标准,我们应该在这个项目中使用 nHibernate 吗?
我们正在通过 POC。我们有一个包含 250 列的表,当尝试插入 500 条记录时,应用程序停止运行。
有人可以就 nHibernate 与 PL/SQL CRUD 的性能比较提出建议吗?
不知道我们应该在 nHibernate 配置文件中使用什么参数来获得最佳性能?
我们正在使用以下配置
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="DefaultSessionFactory">
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
<property name="??;</property>
<property name="show_sql">true</property>
<property name="use_proxy_validator">false</property>
</session-factory>
</hibernate-configuration>
感谢期待。
【问题讨论】:
-
不确定它会产生多大的不同,但是使用 show_sql 并且考虑到您的大量列,NHibernate 将向控制台写入相当多的输出,这不是一个特别快速的操作本身。关闭它,您可能会看到更具代表性的表现。
-
我不认为这是一个公平的测试。如果你想要绝对 100% 的性能,那么你不应该使用 ORM(在我看来)如果你可以为了使用 ORM 而对性能造成轻微的影响......然后使用 ORM。但是,针对设计不佳的数据库测试 NH 是没有意义的。
-
发布一些演示问题的示例代码。
-
如果有一个问题标题无法为您提供有用的答案,那就是那个。
标签: .net nhibernate