Re: join ordering via Simulated Annealing

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: pgsql-hackers@postgresql.org
Cc: Jan Urbański <wulczer@wulczer.org>
Date: 2009-12-26T16:30:54Z
Lists: pgsql-hackers
On Wednesday 23 December 2009 02:23:55 Jan Urbański wrote:
> Hi,
> 
> I've been playing with using a Simulated Annealing-type algorithm for
> determinig join ordering for relations.
Very cool.

> Lastly, I'm lacking good testcases or even a testing approach: I'm
> generating silly queries and looking at how they get optimised, but if
> someone has a real dataset and examples of joins that cannot be planned
> with the standard planner, I would be interested to compare the results
> my prototype gets with those produced by GEQO.
If you want to see some queries which are rather hard to plan with random 
search you can look at
http://archives.postgresql.org/message-
id/200907091700.43411.andres@anarazel.de
which tom analyzed and improved here http://archives.postgresql.org/message-
id/17807.1247932094@sss.pgh.pa.us

They are hard to plan because they have lots and lots of join order 
restrictions. While this example is rather extreme I have found quite many 
such queries so far.

Robert had another example in 
603c8f070911271205r4d4534edt1cebcb76ff5066a5@mail.gmail.com that might be 
interesting.


Andres