Подтвердить что ты не робот

Что значит вакуумировать базу данных?

Как ссылается эта ошибка Firefox, что делает процесс вакуумирования базы данных? Поддерживается ли эта операция всем современным программным обеспечением баз данных или только некоторыми?

4b9b3361

Ответ 1

Базы данных, которые используют MVCC для изоляции транзакций друг от друга, необходимо периодически проверять таблицы для удаления устаревших копий строк. В MVCC, когда строка обновляется или удаляется, ее нельзя сразу перерабатывать, поскольку могут быть активные транзакции, которые все еще могут видеть старую версию строки. Вместо того, чтобы проверить, действительно ли это так, что может быть довольно дорогостоящим, предполагается, что старые строки остаются актуальными. Процесс восстановления пространства откладывается до тех пор, пока таблица не будет вакуумирована, что в зависимости от базы данных может быть инициировано автоматически или явно.

Ответ 2

Это специально относится к команде SQL lite vacuum.   http://www.sqlite.org/lang_vacuum.html

Это удаление пространства, оставшегося из операторов DELETE.

Ответ 3

'vacuumdb' находится в MySQL, sqlite и PostgreSQL. В Postgres, vacuumdb определяет пространство, которое занимают удаленные строки и каталоги для будущего использования. "vacuum full" выполняет более всесторонний анализ и перемещает записи во вновь созданное пространство.

Ответ 4

Он очень похож на дефрагментацию файловой системы. Подробнее о Документация PGSQL.