【发布时间】:2010-12-02 20:18:19
【问题描述】:
我的公司正在从头开始重写现有应用程序。除其他任务外,此应用程序还针对订单和发票数据执行复杂的 SQL 查询以生成销售报告。查询是根据用户选择的标准动态构建的,因此如果选择了许多标准,它们可能会非常复杂。目前,性能不错,但不是很好。
现在,对于新版本,我们想使用 ORM,可能是 NHibernate,因为它显然是唯一支持 Oracle Lite 的(应用程序使用 Oracle 或 Oracle Lite,具体取决于它是在连接模式还是断开模式下运行)。但我担心 NHibernate 生成的查询的性能。我之前使用过其他 ORM(Linq to SQL、Entity Framework),但查询非常简单,因此没有性能问题。
所以,在我决定使用 ORM 还是继续使用普通 SQL 之前,我想知道这些工具在处理外连接、子查询等场景方面的能力如何……你认为 ORM(尤其是NHibernate) 是否适合在上述报告场景中使用?我应该担心复杂查询的性能吗?
任何反馈将不胜感激
【问题讨论】:
标签: .net performance nhibernate orm