Closed avallac closed 7 years ago
@avallac благодарю.
Понятно, что для механизма транзакции требуется, чтобы индексы хранили ссылки на устаревшие данные, но после автовакума они должны полностью быть удалены из индекса.
К сожалению, индексы подвержены такой же проблеме, как и таблицы - "распухание", когда вакуум не может очистить некоторые участки и только REINDEX
может это сделать.
B-дерево относиться к классу самобалансируемых деревьев, оно не оптимально, но очень близко (так же как АВЛ дерево и красно-черное). Поэтому оно не может разбалансироваться.
Касательно пункта о том, что данные хранятся разряжено. Не готов утверждать, но мне кажется тут ошибка. Понятно, что для механизма транзакции требуется, чтобы индексы хранили ссылки на устаревшие данные, но после автовакума они должны полностью быть удалены из индекса. Что приведет его к виду очень близкому к пересозданному. Нюанс алгоритма в том, что B-дерево не является устойчивым. И разные деревья могут быть эквивалентными. Но разница настолько должна быть мала, что совет по перестроению не должен работать.