I'm looking at different ways of optimizing queries with a large number of
joins.  I write the same query in a number of different ways and compare
the running times.  Now the problem is I do not want the optimizer
changing the queries.  So I explicit state the order of the joins in the
FROM clause.  I also turn off everything I can except for one type of join
(say hash join), and I've turned off geqo.  But I find that the PLANNER
still takes an enormous amount of time for some queries.  It doesn't look
like the Planner is actually optimizing (changing) anything, but just in
case, I was wondering if there was a way to turn off the PLANNER.

Note, when I say an enormous amount of time, I mean at least double the
time the EXECUTOR takes to actually answer the query.

Thanks for your help,

Ben McMahan

ps. here is a small example of what my queries look like (so you can see
if there is something else it might be deciding on):

SELECT DISTINCT c0.x1 , c1.x2 , c0.x3 , c0.x4 , c2.x5
FROM r1 c4 (x4,x2,x5) JOIN (r0 c3 (x2,x3,x5) JOIN (r2 c2 (x3,x1,x5) JOIN (r1 c1
(x4,x1,x2) JOIN r1 c0 (x1,x3,x4)
ON ( c0.x4 = c1.x4  AND  c0.x1 = c1.x1 ))
ON ( c0.x3 = c2.x3  AND  c0.x1 = c2.x1 ))
ON ( c1.x2 = c3.x2  AND  c0.x3 = c3.x3  AND  c2.x5 = c3.x5 ))
ON ( c0.x4 = c4.x4  AND  c1.x2 = c4.x2  AND  c2.x5 = c4.x5 );

A quick reminder, FROM r1 c4 (x4,x2,x5) just renames a table r1 into c4
where it also renames the columns to x4, x2, and x5 respectively.



Sat, 26 Oct 2002 13:28:55 -0500 (CDT)
Ben McMahan <mcmahanb@cs.rice.edu>
Turning the PLANNER off