Calculate total_table_pages after set_base_rel_sizes()

Поиск
Список
Период
Сортировка
От David Rowley
Тема Calculate total_table_pages after set_base_rel_sizes()
Дата
Msg-id CAKJS1f-NG1mRM0VOtkAG7=ZLQWihoqees9R4ki3CKBB0-fRfCA@mail.gmail.com
обсуждение исходный текст
Ответы Re: Calculate total_table_pages after set_base_rel_sizes()
Список pgsql-hackers
I believe that we should be delaying the PlannerInfo's
total_table_pages calculation until after constraint exclusion and
partition pruning have taken place. Doing this calculation before we
determine which relations we don't need to scan can lead to
incorrectly applying random_page_cost to too many pages processed
during an Index Scan.

We already don't count relations removed by join removals from this
calculation, so counting pruned partitions seems like an omission.

The attached patch moves the calculation to after set_base_rel_sizes()
is called and before set_base_rel_pathlists() is called, where the
information is actually used.

I am considering this a bug fix, but I'm proposing this for PG12 only
as I don't think destabilising plans in the back branches is a good
idea. I'll add this to the September commitfest.

-- 
 David Rowley                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrew Gierth
Дата:
Сообщение: A really subtle lexer bug
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: Fix help option of contrib/oid2name