Вопрос

Как я могу компактную базу данных Firebird 2.1, как и в MS Access (отбрасывание стертых данных, индекс рельефа и т. Д.)?

Есть способ сделать это?

Спасибо!

Это было полезно?

Решение

Обычно нет необходимости компактной базы данных Firebird: см. Примечания по выпуску FB о сборке мусора и автоматической (настраиваемой базы данных) операции с именем «Sweep». Несколько слов, FB повторно поднимает пространство на страницах, когда записи удаляются или самая старая версия для записи, освобождена просьба для дисковых кабин только тогда, когда свободное место становится слишком маленьким (то есть под определенным процентом). Sweews выполняется как по умолчанию после предварительно определенного количества зачисленных транзакций, BUR это дорогостоящая задача. Резервное копирование и восстановление должны быть задуманы как последнее прибеги к оптимизации и сокращению, так как это восстанавливает и оптимизируют индексы, но обычно это не требуется, так как есть команды и инструменты для восстановления индексов.

Другие советы

Единственный способ сделать это - сделать резервную копию и восстановление.

Из Официальный FAQ

Многие пользователи удивляются, почему они не получают свое дисковое пространство назад, когда они удаляют много записей из базы данных.

Причина в том, что это дорогая операция, потребуется много пишет диска и памяти - просто подобно выполнению переформуляции раздела жесткого диска. Части базы данных (страницы), которые использовались такими данными, помечены как пустые, и Firebird повторно используют их в следующий раз, когда он должен писать новые данные.

Если дисковое пространство имеет решающее значение для вас, вы можете вернуть пространство, делая резервную копию, а затем восстановить. Поскольку вы делаете резервную копию, чтобы восстановить сразу, разумно использовать «ингибирующую мусорную коллекцию» или «не использовать сборку мусора» (-G в GBAK), что сделает резервную копию намного быстрее. Коллекция мусора используется для очистки вашей базы данных, и, поскольку это задача обслуживания, она часто выполняется вместе с резервной копией (в любом случае Backup должен идти по всей базе данных). Тем не менее, вы скоро собираетесь бросить этот файл базы данных, и нет необходимости убирать его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top