cost_index()
От | Teodor Sigaev |
---|---|
Тема | cost_index() |
Дата | |
Msg-id | 544E5C9E.6010806@sigaev.ru обсуждение исходный текст |
Ответы |
Re: cost_index()
|
Список | pgsql-hackers |
Hi! Some fragment of code (src/backend/optimizer/path/costsize.c, lineno ~400): /* * Normal case: apply the Mackertand Lohman formula, and then * interpolate between that and the correlation-derived result. */ pages_fetched = index_pages_fetched(tuples_fetched, baserel->pages, (double) index->pages, root); if (indexonly) pages_fetched = ceil(pages_fetched * (1.0 - baserel->allvisfrac)); As I understand the code, index_pages_fetched() returns summary of page's read for index and heap together. But on next line this recalculates with "all visible fraction" of heap. After recent vacuum it could be 1.0 and then pages_fetches will be zero. It seems to me obviously wrong, because it's for index only scan it could be true only for heap, not for index pages. Am I wrong or miss something? -- Teodor Sigaev E-mail: teodor@sigaev.ru WWW: http://www.sigaev.ru/
В списке pgsql-hackers по дате отправления: