-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 
Author Message
 Post subject: Batch fetching and query caching
PostPosted: Tue Sep 06, 2005 10:46 am 
Regular
Regular

Joined: Thu May 12, 2005 10:12 am
Posts: 71
Location: Buenos Aires, Argentina
Hi...I've been using NHibernate in a large financial software for the past 6 month with great success. I must admit NH helped my team to move quickly forward and be "free" to design our object model without much concern for the DB....

But now we are at a performance bottleneck. Where are experimenting the n+1 select problem and other performance issues. I've been looking in the web and there are many options to fix this, 2 which are yet no implemented in the current release. These are batch-fetching and query caching.

The third option is doing eager fetching in some cases but unfortunately we have a few queries that we will not be able to optimize this way.

So I was wondering if there is a chance to make batch-fetching and query caching a priority in the 1.0 release. I believe performance is a critical missing part to make NH as strong as the Java counterpart.

Keep the good work!!


Top
 Profile  
 
 Post subject:
PostPosted: Tue Sep 06, 2005 11:07 am 
Beginner
Beginner

Joined: Fri May 20, 2005 5:06 am
Posts: 28
Sorry that I answer to your post, because it's just another question :oops: :

I also have major performance troubles with NHibernate, but I'm not sure if it's my fault, or something you just described. My problem is, that when flushing the session, NHibernates checks for all objects and their collections in the DB if they are still valid, also if I didn't changed the objects in the memory.

Is that what you ment, or did you know what I'm doing wrong?

Thanks so much and sorry for another question.
Rainer.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Sep 06, 2005 1:22 pm 
Contributor
Contributor

Joined: Sun Jun 26, 2005 5:03 am
Posts: 51
Location: London, UK
I believe Sergey is working on query caching at the moment and it can't be too far away

_________________
Paul Hatcher
NHibernate Team


Top
 Profile  
 
 Post subject:
PostPosted: Tue Sep 06, 2005 5:05 pm 
Regular
Regular

Joined: Thu May 12, 2005 10:12 am
Posts: 71
Location: Buenos Aires, Argentina
Cepheus: I dont think what your seeing is what is slowing you application. The checking of the collection has more to do in how you configured the cascade option in collections probably. Be sure to set them right.

paulh: I appologize. I just saw StandardQueryCache.cs on the latest CVS build. What I didnt see is the batch fetch which I believe is an easy solution to the n+1 problem.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 07, 2005 6:03 am 
Contributor
Contributor

Joined: Sun Jun 26, 2005 5:03 am
Posts: 51
Location: London, UK
I think batch fetch is a bit more tricky as it's not a concept supported by ADO.NET.

_________________
Paul Hatcher
NHibernate Team


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 08, 2005 7:01 am 
Contributor
Contributor

Joined: Wed May 11, 2005 4:59 pm
Posts: 1766
Location: Prague, Czech Republic
I have just finished porting both features from H2.1 so you can try grabbing a nightly build from http://www.renewtek.com/nhibernate/ccnet/default.aspx@_action_ViewFarmReport=true.html in a day or so. Batch fetching does not require any special support, as opposed to command batching which refers to batching INSERT/UPDATE/DELETE statements, and is not supported by ADO.NET.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 08, 2005 9:02 am 
Regular
Regular

Joined: Thu May 12, 2005 10:12 am
Posts: 71
Location: Buenos Aires, Argentina
Sergey..you're the man!


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.