pgsql: Allow create_index_paths() to consider multiple join bitmapscan

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Allow create_index_paths() to consider multiple join bitmapscan
Дата
Msg-id E1T23UX-0001l8-Uv@gemulon.postgresql.org
обсуждение исходный текст
Список 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.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/f5983923d81d6327bdacf9d439a1536c4c8c4c15

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 по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: pgsql: Rewrite window function reference section to more clearly explai
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Allow create_index_paths() to consider multiple join bitmapscan