当前位置:  开发笔记 > 数据库 > 正文

为什么NHibernate生成的参数化SQL和存储过程一样快?

如何解决《为什么NHibernate生成的参数化SQL和存储过程一样快?》经验,为你挑选了4个好方法。

我的一位同事声称,即使执行路径被缓存,也无法从ORM生成的参数化SQL与存储过程一样快.这个顽固的开发者有什么帮助吗?



1> Espo..:

我将从阅读本文开始:

http://decipherinfosys.wordpress.com/2007/03/27/using-stored-procedures-vs-dynamic-sql-generated-by-orm/

这是两者之间的速度测试:

http://www.blackwasp.co.uk/SpeedTestSqlSproc.aspx



2> Gulzar Nazim..:

第1轮 - 您可以启动探查器跟踪并比较执行时间.



3> rjzii..:

对大多数人来说,说服他们的最好方法就是"向他们展示证明".在这种情况下,我将创建一些基本的测试用例来检索相同的数据集,然后计算使用存储过程与NHibernate所需的时间.一旦你得到结果,交给他们,大多数持怀疑态度的人应该屈服于证据.



4> NotMe..:

我只想给Rob的回答添加一些东西:

首先,确保测试用例中涉及的数据量与生产值类似.换句话说,如果您的查询通常是针对具有数十万或行的表,那么请创建这样的测试环境.

其次,除了使用nHibernate生成的查询和s'proc调用之外,使其他所有内容都相等.希望您可以通过简单地交换提供程序来执行测试.

最后,要意识到通常存在比存储过程与ORM更多的利害关系.考虑到这一点,测试应该考虑所有因素:执行时间,内存消耗,可伸缩性,调试能力等.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有