Форум программистов, компьютерный форум CyberForum.ru

Вакум для индексов - PostgreSQL

Восстановить пароль Регистрация
 
neske
1425 / 792 / 55
Регистрация: 26.03.2010
Сообщений: 2,729
06.12.2016, 10:18     Вакум для индексов #1
Всем привет! Возник вопрос по поводу вакума (не фулл). Для таблиц он позволяет реюзать освобожденное от мертвых кортежей место. А для индексов? Для каждого мертвого кортежа он удалить запись о нем в индексе, то есть место физически освободится? Фактически, в результате мы актуализируем индекс? Или я неверно понял?

Спасибо.

Добавлено через 1 минуту
Цитата Сообщение от neske Посмотреть сообщение
Для каждого мертвого кортежа он удалить запись о нем в индексе
Хотя, наверное, когда запись удалялась, информация о ней удалялась и из индекса .. Просто вижу аутпут команды вакум, он и индекс чистит, хм.

Добавлено через 3 минуты
Вот, к примему:
SQL
1
INFO:  scanned INDEX "step_pk" TO remove 219232 ROW versions
Добавлено через 46 минут
Как правильно интерпретировать приведенную запись из лога?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2016, 10:18     Вакум для индексов
Посмотрите здесь:

PostgreSQL Типы индексов в PostgreSQL

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grgdvo
500 / 441 / 119
Регистрация: 02.09.2012
Сообщений: 1,283
06.12.2016, 16:14     Вакум для индексов #2
Цитата Сообщение от neske Посмотреть сообщение
Как правильно интерпретировать приведенную запись из лога?
Во время вакуумизации был просканировн индекс такой-то, было удалено столько-то версий строк.
я думаю вы понимаете, что индекс это тоже как бы таблица, которая хранит индексную информацию.
индекс, следуя принципу MVCC, постепенно засерается мертвыми версиями строк, которые уже были удалены из базы.
ну вот, при вакуумизации мы их почистили, глядишь какое-то количество страниц освободили для повторного использования.
кстати при verbose он вам где-то должен был написать о том, сколько страниц освободилось и сколько повторно будет использовано.
neske
1425 / 792 / 55
Регистрация: 26.03.2010
Сообщений: 2,729
07.12.2016, 12:10  [ТС]     Вакум для индексов #3
Цитата Сообщение от grgdvo Посмотреть сообщение
я думаю вы понимаете, что индекс это тоже как бы таблица, которая хранит индексную информацию.
ну у меня это дерево )

Цитата Сообщение от grgdvo Посмотреть сообщение
индекс, следуя принципу MVCC, постепенно засерается мертвыми версиями строк, которые уже были удалены из базы.
а разве при удалении записи из базы, она не удаляется из индексов?
grgdvo
500 / 441 / 119
Регистрация: 02.09.2012
Сообщений: 1,283
07.12.2016, 14:06     Вакум для индексов #4
Цитата Сообщение от neske Посмотреть сообщение
ну у меня это дерево
дерево тоже можно хранить в форме таблицы
Цитата Сообщение от neske Посмотреть сообщение
а разве при удалении записи из базы, она не удаляется из индексов?
она как бы забывается, но физически остается лежать в страницах в файлах.
согласитесь, что с точки зрения производительности дешевле просто что-то новое дописать в файл, чем копаться в его структуре и что-то перестраивать/переписывать.
вот и с индексом так, проще достроить/дописать при изменении индекса, а старую информацию забыть.
при вакуумизации все это безобразие упорядочить.
Yandex
Объявления
07.12.2016, 14:06     Вакум для индексов
Ответ Создать тему
Опции темы

Текущее время: 08:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru