Thread: postgresql geqo optimization
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!
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/