On Sun, 2005-12-18 at 17:07 +1300, Mark Kirkwood wrote: > Tom Lane wrote: > > >>2. transform joins into subselects, then return subselect rows via an > >>index bitmap. Joins are performed via a bitmap addition process. > > Looks like 8.1 pretty much does this right now: Good analysis. 8.1 doesn't do: - the transforms sufficiently well (you just performed them manually) - doesn't AND together multiple bitmaps to assist with N-way joins Those aren't criticisms, just observations. Pal's original example was a 9-dimension join, so I think PostgreSQL does very well on making that run in 30 seconds. That's a complex example and I think upholds just how good things are right now. Anyway, back to the starting point: IMHO there is an additional optimisation that can be performed to somehow speed up Single large table-many small table joins. And we have some clues as to how we might do that. Best Regards, Simon Riggs