Форум программистов, компьютерный форум, киберфорум
Наши страницы

PostgreSQL

Войти
Регистрация
Восстановить пароль
 
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,986
#1

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

06.12.2016, 10:18. Просмотров 275. Ответов 3
Метки нет (Все метки)

Всем привет! Возник вопрос по поводу вакума (не фулл). Для таблиц он позволяет реюзать освобожденное от мертвых кортежей место. А для индексов? Для каждого мертвого кортежа он удалить запись о нем в индексе, то есть место физически освободится? Фактически, в результате мы актуализируем индекс? Или я неверно понял?

Спасибо.

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

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

Несколько индексов - Базы данных
Можно ли создать и поддерживать несколько индексов по разным полям? Если да, то как это сделать?

Механизм работы индексов - Базы данных
Везде написано зачем они нужны, но нигде не написано как все это работает. Не иначе как магия. Скажите, правильно я понимаю механизм: ...

Типы индексов в PostgreSQL - PostgreSQL
Какие существуют типы индексов в PostgreSQL,зашел в официальную документацию а там написано только "B-tree, Hash, GiST and GIN" а как же...

Найти произведение индексов строк и сумму индексов столбцов для элементов матрицы, больших семи - Pascal
1 задача Ввести двумерный массив A 3×4 . Найти произведение индексов строк и сумму индексов столбцов для элементов массива...

Программа для выведения чётных индексов массива - Pascal ABC
Программа для выведения чётных индексов массива для n количества чисел.

Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем все нечетные в порядке убывания индексов - C (СИ)
Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а...

3
grgdvo
589 / 520 / 151
Регистрация: 02.09.2012
Сообщений: 1,541
06.12.2016, 16:14 #2
Цитата Сообщение от neske Посмотреть сообщение
Как правильно интерпретировать приведенную запись из лога?
Во время вакуумизации был просканировн индекс такой-то, было удалено столько-то версий строк.
я думаю вы понимаете, что индекс это тоже как бы таблица, которая хранит индексную информацию.
индекс, следуя принципу MVCC, постепенно засерается мертвыми версиями строк, которые уже были удалены из базы.
ну вот, при вакуумизации мы их почистили, глядишь какое-то количество страниц освободили для повторного использования.
кстати при verbose он вам где-то должен был написать о том, сколько страниц освободилось и сколько повторно будет использовано.
1
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,986
07.12.2016, 12:10  [ТС] #3
Цитата Сообщение от grgdvo Посмотреть сообщение
я думаю вы понимаете, что индекс это тоже как бы таблица, которая хранит индексную информацию.
ну у меня это дерево )

Цитата Сообщение от grgdvo Посмотреть сообщение
индекс, следуя принципу MVCC, постепенно засерается мертвыми версиями строк, которые уже были удалены из базы.
а разве при удалении записи из базы, она не удаляется из индексов?
0
grgdvo
589 / 520 / 151
Регистрация: 02.09.2012
Сообщений: 1,541
07.12.2016, 14:06 #4
Цитата Сообщение от neske Посмотреть сообщение
ну у меня это дерево
дерево тоже можно хранить в форме таблицы
Цитата Сообщение от neske Посмотреть сообщение
а разве при удалении записи из базы, она не удаляется из индексов?
она как бы забывается, но физически остается лежать в страницах в файлах.
согласитесь, что с точки зрения производительности дешевле просто что-то новое дописать в файл, чем копаться в его структуре и что-то перестраивать/переписывать.
вот и с индексом так, проще достроить/дописать при изменении индекса, а старую информацию забыть.
при вакуумизации все это безобразие упорядочить.
0
07.12.2016, 14:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2016, 14:06
Привет! Вот еще темы с ответами:

Суммировать элементы массива, для которых сумма индексов нечетна - Turbo Pascal
Помогите пожалуйста написать. Нужно суммировать элементы массива А(n,m), для которых сумма индексов нечетна. Заранее благодарен

Для одномерного массива найти cуму индексов наибольших элементов - C++
Задание: Для одномерного массива C(n) найти cуму индексов L наибольших элементов, где 0<=n<=25. Вот рабочий код: // Lab4.cpp:...

Для матрицы получить вектор из индексов максимальных элементов столбцов - Pascal
Друзья помогите написать программу: Для матрицы А(4 строки ,4 столбца) сформировать одномерный массив B из 4 элементов. Каждый элемент...

Составить процедуру для нахождения индексов максимального элемента квадратной матрицы - Turbo Pascal
помогите с задачей! Составить процедуру для нахождения индексов максимального элемента квадратной матрицы. Применить данную процедуру для...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.