Re: Poor Oracle performance? getting rid of bind variables
Re: Poor Oracle performance? getting rid of bind variables
- Subject: Re: Poor Oracle performance? getting rid of bind variables
- From: Ken Anderson <email@hidden>
- Date: Tue, 21 Aug 2007 14:39:12 -0400
Thanks for the tips Chuck - I'll try it!
Ken
On Aug 21, 2007, at 2:22 PM, Chuck Hill wrote:
This is what I would try. Sub - class OraclePlugIn as say
OraclePlugInNoBindings. In it, subclass
OraclePlugIn.OracleExpression as
OraclePlugInNoBindings.OracleExpressionNoBindings. Implement this
class with these methods:
public OracleExpressionNoBindings(EOEntity eoentity) {
super(eoentity);
}
public boolean shouldUseBindVariableForAttribute(EOAttribute
eoattribute) {
return false;
}
public boolean mustUseBindVariableForAttribute(EOAttribute
eoattribute) {
return false;
}
Implement OraclePlugInNoBindings in as
package com.webobjects.jdbcadaptor;
public OraclePlugInNoBindings(JDBCAdaptor jdbcadaptor) {
super(jdbcadaptor);
}
public Class defaultExpressionClass() {
return com.webobjects.jdbcadaptor.OraclePlugInNoBindings
$OracleExpressionNoBindings.class;
}
Then, in you connection dictionary, specify the plugin as
com.webobjects.jdbcadaptor.OraclePlugInNoBinding
That is just off the top of my head, but it is worth a shot.
Chuck
On Aug 21, 2007, at 11:11 AM, Ken Anderson wrote:
Art,
Seems like other people have similar problems with bind variables:
http://www.thescripts.com/forum/thread65559.html
According to this guy, the optimizer punts when bind variables are
used and uses a table scan! Now, more than anything, I really
need to figure out how to stop EOF from using bind variables.
Any thoughts?
Thanks,
Ken
On May 16, 2007, at 4:04 PM, Art Isbell wrote:
On May 16, 2007, at 9:33 AM, Gavin Eadie wrote:
I concur, with Oracle and OpenBase - that setting has no effect
(and its default is false anyway) .. Gav
I see that JDBCExpression overrides EOSQLExpression's
useBindVariables() to always return true. And
OraclePlugIn.OracleExpression, a JDBCExpression subclass, doesn't
override useBindVariables(), so the Oracle plugin must be set to
use bind variables regardless of the value of
EOAdaptorUseBindVariables.
That said, I'd be surprised that merely using bind variables
would cause the poor fetch performance. In fact, I thought that
bind variable usage was supposed to help the query optimizer
improve performance, but my memory might be faulty.
Aloha,
Art
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40anderhome.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40global-village.net
This email sent to email@hidden
--
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden