Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

pgsql: Optimize multi-batch hash joins when the outer relation has a


  • From: tgl(at)postgresql(dot)org (Tom Lane)
  • To: pgsql-committers(at)postgresql(dot)org
  • Subject: pgsql: Optimize multi-batch hash joins when the outer relation has a
  • Date: Sat, 21 Mar 2009 00:04:40 +0000 (UTC)
  • Message-id: <20090321000440.72E57754ADE@cvs.postgresql.org> <text/plain>

Log Message:
-----------
Optimize multi-batch hash joins when the outer relation has a nonuniform
distribution, by creating a special fast path for the (first few) most common
values of the outer relation.  Tuples having hashvalues matching the MCVs
are effectively forced to be in the first batch, so that we never write
them out to the batch temp files.

Bryce Cutt and Ramon Lawrence, with some editorialization by me.

Modified Files:
--------------
    pgsql/src/backend/executor:
        nodeHash.c (r1.117 -> r1.118)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHash.c?r1=1.117&r2=1.118)
        nodeHashjoin.c (r1.97 -> r1.98)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHashjoin.c?r1=1.97&r2=1.98)
    pgsql/src/backend/nodes:
        copyfuncs.c (r1.426 -> r1.427)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c?r1=1.426&r2=1.427)
        outfuncs.c (r1.354 -> r1.355)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c?r1=1.354&r2=1.355)
    pgsql/src/backend/optimizer/path:
        costsize.c (r1.204 -> r1.205)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c?r1=1.204&r2=1.205)
    pgsql/src/backend/optimizer/plan:
        createplan.c (r1.255 -> r1.256)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c?r1=1.255&r2=1.256)
    pgsql/src/include/executor:
        hashjoin.h (r1.49 -> r1.50)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/hashjoin.h?r1=1.49&r2=1.50)
        nodeHash.h (r1.46 -> r1.47)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeHash.h?r1=1.46&r2=1.47)
    pgsql/src/include/nodes:
        execnodes.h (r1.201 -> r1.202)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.201&r2=1.202)
        plannodes.h (r1.108 -> r1.109)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/plannodes.h?r1=1.108&r2=1.109)



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group