[ 
https://issues.apache.org/jira/browse/DERBY-1907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dag H. Wanvik updated DERBY-1907:
---------------------------------

    Derby Categories: [Performance]

> Improve optimizer to prune query plans more aggressively.
> ---------------------------------------------------------
>
>                 Key: DERBY-1907
>                 URL: https://issues.apache.org/jira/browse/DERBY-1907
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 10.1.3.2, 10.2.1.6, 10.3.1.4
>            Reporter: A B
>
> For large queries with numerous and deeply-nested subqueries like those in 
> DERBY-1777, the number of different index/joinOrder/joinStrategy combinations 
> that the optimizer can process is extremely high.  In the absence of an 
> efficient timeout mechanism (see DERBY-1906) this can lead to situations 
> where the optimizer spends far too much time trying out different access 
> paths before picking a plan.  In the case of the DERBY-1777 queries, the 
> optimizer can literally spend hours trying out all of the possible 
> combinations before deciding on the best one.
> Even if/when the timeout mechanism is improved, it would still be great if 
> the Derby optimizer could somehow figure out how to aggressively prune out 
> access paths that are known (or suspected) to be sub-optimal.  This way the 
> optimizer would spend less time optimizing "bad" access paths and could 
> therefore try out more "good" plans before timeout occurs.
> I have no idea how this pruning would occur, but I do think it would be 
> extremely beneficial to the Derby optimization process when dealing with 
> deeply nested queries with large FROM lists.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to