Tom Lane wrote:
> Greg Stark <gsstark@mit.edu> writes:
>
>>No, postgres didn't do things in reverse order. It hashed the empty table and
>>then went ahead and checked every record of the non-empty table against the
>>empty hash table.
>
>
>>Reading the code there's no check for this, and it seems like it would be a
>>useful low-cost little optimization.
>
>
> Yeah, I was just looking at doing that.
>
> It would also be interesting to prefetch one row from the outer table and fall
> out immediately (without building the hash table) if the outer table is
> empty. This seems to require some contortion of the code though :-(
>
>
>>I think postgres normally hashes the table it thinks is smaller,
>
>
> Right, it will prefer to put the physically smaller table (estimated
> width*rows) on the inside.
Do you plan to do a patch for the 7.4, so I'll wait for a 7.4.6 ( that IIRC have already
two important patches pending ) or is 8.0 stuff ?
Regards
Gaetano Mendola