以下是一个常见的情况:
我的问题是:
发布于 2011-11-10 15:35:06
ORMs并不打算完全接管对数据库的访问。将它们用于80%的CRUD代码,这些代码太单调,无法单独编写。对于需要仔细优化的其余20%,请使用存储过程、动态SQL或任何您想要的内容。
发布于 2011-11-10 15:31:48
我在一个要求高性能并处理数十亿条记录的应用程序中使用ORM (nHibernate)。随着时间的推移,我们注意到大多数重要的性能问题都与我们自己使用ORM的方式有关,而不是仅仅因为ORM。
ORM不应该取代您的强制性数据库知识。这是一个在代码中获得更高效率和灵活性的工具,但您需要了解底层流程以优化性能。
您没有指定特定的ORM,因此下面是我们为提高性能所做的工作:
发布于 2011-11-10 15:32:44
我们成功地使用了实体框架( Entity ),但我们的应用程序执行了很多批处理式操作(我们会将大量记录写入各个表),因此这是一个很好的选择。如果可能的话,我肯定会看看是否有可能保留ORM框架,这只是为了减少应用程序中特殊用途代码的数量。是否可以缓冲写,然后作为一个组执行它们?您将失去事务语义,但是如果要使用批量操作,我想您已经接受了这一点。
https://softwareengineering.stackexchange.com/questions/119003
复制相似问题