при полном сканировании индекса и после выполнения VACCUM? Вроде как Vacuum должен перестраивать визибилити мап и должны быть нули в Hep Fetches, но там всегда одно и то же количество показывает что до вакуума что после.
И после VACUUM FULL такое же поведение?
FULL не дождался. Таблица огромная. Выполнялось около 3х часов после чего прервал. Но на худой конец буду FULL на ночь ставить. Интересно еще что на копии после обычного VACUUM они обнуляются.
Может вы не дождались vacuum до конца? Бывает так, что карта видимости не обновлена и приходиться обращаться к таблице. Или у вас такой индекс, что без heap fetches все равно никак
запускал несколько раз. даже с verbose. отрабатывает полностью. завершается стандартно. Пробовал как полностью для базы так и только для таблицы. Запрос самый примитивный Количество(Регистратор). Причем план показывает что идет Index only scan. Никаких там Materialized нет, т.е. все вроде как хорошо за исключением этого Heap Fetches
А после ваккум фулл как раз всё пойдёт через heap, поскольку visibility map он не строит.
Скорее всего — висит транзакцыя, залочившая таблицу, и фулл дажэ не начинался.
Висящая транзакцыя такжэ объясняет проблемы с visibility map.
служба перезагружалась. к тому же база дает делать reindex по этой таблице. вряд ли транзакция
Обсуждают сегодня