[ 
http://issues.apache.org/jira/browse/DERBY-808?page=comments#action_12363074 ] 

Daniel John Debrunner commented on DERBY-808:
---------------------------------------------

Good find, I'd never thought that Statements could be slower than 
PreparedStatements.

+                               // Consider using variant type of the 
expression, instead of ConstantNode
+                               // or ParameterNode while porting this fix to 
trunk.

I would advise porting this fix as-is to the trunk to avoid people hitting 
similar problems there,
and enter a new jira issue for possibly improving it as you describe.

> PreparedStatements can take longer to execute than Statements. There seem to 
> be a problem with searchClauseTransitiveClosure method in PredicateList.java
> ---------------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-808
>          URL: http://issues.apache.org/jira/browse/DERBY-808
>      Project: Derby
>         Type: Bug
>   Components: SQL
>     Versions: 10.2.0.0, 10.1.2.0
>  Environment: generic
>     Reporter: Satheesh Bandaram
>      Fix For: 10.2.0.0, 10.1.3.0
>  Attachments: DERBY-808.patch
>
> PreparedStatements could take much longer than Statements because of 
> incorrect search clause transitive closure optimization. For the customer 
> case I investigated this problem, Statement would complete in about 13 
> seconds, where as equivalent PreparedStatement ran "forever". (stoped it 
> after hours)
> I think there a problem with PredicateList.searchClauseTransitiveClosure 
> method. This method tries to add new search clauses based on equality join 
> between tables involved.  Current code only looks for ConstantNodes on the 
> right side of searchClauses. This would miss ParameterNodes, so Derby might 
> miss search clause transitive closure optimizations for PreparedStatements.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to