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

pgsql: Allow create_index_paths() to consider multiple joinbitmapscan

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Allow create_index_paths() to consider multiple joinbitmapscan
Date: 2012-08-16 17:04:17
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-committers
Allow create_index_paths() to consider multiple join bitmapscan paths.

In the initial cut at the "parameterized paths" feature, I'd simplified
create_index_paths() to the point where it would only generate a single
parameterized bitmap path per relation.  Experimentation with an example
supplied by Josh Berkus convinces me that that's not good enough: we really
need to consider a bitmap path for each possible outer relation.  Otherwise
we have regressions relative to pre-9.2 versions, in which the planner
picks a plain indexscan where it should have used a bitmap scan in queries
involving three or more tables.  Indeed, after fixing this, several queries
in the regression tests show improved plans as a result of using bitmap not
plain indexscans.



Modified Files
src/backend/optimizer/path/indxpath.c |   98 +++++++++++++++++++++++++++-----
src/test/regress/expected/join.out    |   28 ++++++----
2 files changed, 99 insertions(+), 27 deletions(-)

pgsql-committers by date

Next:From: Bruce MomjianDate: 2012-08-16 22:16:00
Subject: pgsql: Add warning about pg_ctl restart and the use of relative pathso
Previous:From: Bruce MomjianDate: 2012-08-16 16:22:10
Subject: Re: pgsql: Rewrite window function reference section to more clearly explai

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group