这是使用流利NHibernateNHibernate花费很长时间来运行查询
我有一个NHibernate查找是从一个表中检索数据。如果我采用生成的sql并通过查询分析器运行,它需要~18ms运行。
使用NHProfiler,我得到这个查询的持续时间〜1800毫秒 - 比sql长100倍!
Query duration
- Database only:1800ms
- Total: 1806ms
正被填充的对象包含一个子类,但是这个孩子正在从NHibernate的第二级高速缓存
正在被返回的被寻呼的数据(50查询)加载虽然作为远据我所知,这应该没有什么区别
我也有计数运行,并且再次,这是根据NHProfiler在查询分析仪和约1800毫秒〜4ms。
NH Profiler是否显示查询执行时间或完成检索时间,映射类并构造对象图?如果它是前者 - 为什么它比直接运行查询花费的时间更长?
编辑:刚刚发现这个帖子由Ayende关于NH探查给出的查询持续时间值:http://ayende.com/Blog/archive/2009/06/28/nh-prof-query-duration.aspx - 所以它肯定是花了很长时间的数据库查询
ADO.NET需要多长时间? – 2010-02-16 13:41:27
当你用像蚂蚁或dottrace这样的剖析器来剖析代码时,主要的瓶颈是什么? – Paco 2010-02-16 14:51:37
使用ADO.NET只需要NHibernate的一小部分时间。 我目前还没有安装任何性能分析软件,所以我只是要去分类并看看它说什么 – 2010-02-16 15:03:52