-->
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: Oracle performance enhancement question?
PostPosted: Sun May 22, 2005 10:27 am 
Newbie

Joined: Tue May 17, 2005 5:31 pm
Posts: 4
I was wondering if there's a way to easily extend hibernate 3.0 to make use of the oracle specific optimization technique of beeing able to "defineColumnType" which will prevent Oracle thin driver from making an additonal round-trip to the DBMS to retrieve the meta data for the query result. This can lead to quite a nice performance boost, especially for simple queries.

I think this should be part of hibernate standard Oracle support but I gather that it's not and therefore I'm wondering if it can be easily added as an extension in the mean time.

Thanks,
/Jesper


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 22, 2005 10:37 am 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 12:50 pm
Posts: 5130
Location: Melbourne, Australia
I would assume that this optimization is irrelevant as long as you are using PreparedStatement caching. The PreparedStatement would remember the column types, presumably.


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 22, 2005 10:43 am 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 12:50 pm
Posts: 5130
Location: Melbourne, Australia
I also just found this:

Quote:
The implementation of defineColumnType() has changed significantly. at 10g Release 1 (10.1). Previously, defineColumnType() was used both as a performance optimization and to force datatype conversion. The revised implementation has no performance impact, except that you can use the maximum field size argument to control how much memory the client side allocates.

It is no longer necessary to call defineColumnType() on all the columns retrieved in a result set.

Previous versions of the JDBC drivers performed type conversion on the client side; at this release, type conversion is performed on the server side.

From the server point of view, a defineColumnType() invocation which does not perform a datatype conversion has no impact. It is purely a client-side API which can be used to allocate less memory.


http://www.stanford.edu/dept/itss/docs/ ... raperf.htm


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 22, 2005 12:34 pm 
Newbie

Joined: Tue May 17, 2005 5:31 pm
Posts: 4
Good, it seems that Oracle has come through!

Unfortunatly we are for reasons of baseline of our product stuck with Oracle9i since Oracle in all of it's wisdom decided to drop support for rule-based optimization (without using special syntax) when moving to 10g so first all applications must start to use Cost based optimization to make the transition smooth.

Prepared statements as compared with plain queries has it's own set of performance implications.


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 22, 2005 1:28 pm 
Expert
Expert

Joined: Sat Jun 12, 2004 4:49 pm
Posts: 915
you can use 10g jdbc driver with oracle 9i - you can't use jdbc10g with 8.0 and I don't know about 8i

jdbc 10g work fine with 9i databases

regards


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 22, 2005 1:41 pm 
Hibernate Team
Hibernate Team

Joined: Mon Aug 25, 2003 9:11 pm
Posts: 4592
Location: Switzerland
jesper_soderlund wrote:
Oracle9i since Oracle in all of it's wisdom decided to drop support for rule-based optimization (without using special syntax) when moving to 10g so first all applications must start to use Cost based optimization to make the transition smooth.


Really? This would be an interesting change


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 22, 2005 3:05 pm 
Newbie

Joined: Tue May 17, 2005 5:31 pm
Posts: 4
christian wrote:
Really? This would be an interesting change


yes, at least that was the conculsion reached by our DB-team's brief look at Oracle 10g as a candidate requirement for our next release.

There seems to be some other options to simulate the rule based optimizer hower, for example "http://www.dba-oracle.com/art_otn_cbo.htm", so it might not be a major issue after all. The problem for us was that a lot of hand-tuned queries would have to be revalidated that they still generated the expected performance characteristics when the underlying optimizer changes radically.


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.