Thread: postgresql geqo optimization

postgresql geqo optimization

From
uwcssa
Date:
I have a question with regard to GEQO optimizer of Postgresql.
 
For complex queries with over 12 tables in a join, (12 is the
default value), the Postgresql optimizer by default will not use the dynamic programming style optimizer. Instead, it uses genetic algorithm to compute a sub-optimal query plan.  The reason is that GEQO takes sub-seconds to find a query plan while the DP style optimizer will take minutes or even hours to optimize a complex query with large join degree.
 
I am wondering if anyone here ever had complex queries that the GEQO fails to work properly, i.e.,  finds a terrible query plan as compared to one found by DP optimizer (by forcing Postgresql always uses DP).    This is important to me since I am trying to see what type of queries will be worth spending a lot of time doing a thorough DP optimization (if it is going to be executed again and again).
 
thanks a lot!

Re: postgresql geqo optimization

From
"Steinar H. Gunderson"
Date:
On Fri, Feb 10, 2006 at 08:46:14PM -0500, uwcssa wrote:
> I am wondering if anyone here ever had complex queries that the GEQO fails
> to work properly, i.e.,  finds a terrible query plan as compared to one
> found by DP optimizer (by forcing Postgresql always uses DP).    This is
> important to me since I am trying to see what type of queries will be worth
> spending a lot of time doing a thorough DP optimization (if it is going to
> be executed again and again).

There have been a few problems earlier on this list which might have been the
geqo's fault; search the list archives for "geqo" or "genetic", and you
should be able to find them quite easily.

/* Steinar */
--
Homepage: http://www.sesse.net/