База данных Firebird продолжает становиться все больше

StackOverflow https://stackoverflow.com/questions/2045306

Вопрос

Это интересно для меня - несмотря на почти бессмысленное название. Я долгое время использовал Firebird, но только недавно заметил интересное поведение.

Я использую Embedded Firebird 1.5 и заметил, что если я наполняю базу данных, полную каплей (скажем, на 10 МБ), размер базы данных увеличивается. Затем я могу удалить все поля в базе данных, и размер файла БД остается при расширенном размере. В настоящее время он находится на 20 МБ и совершенно пуст.

Я знаю, что Firebird встроен в свою архитектуру (для быстрого индексации, проблем с скоростью и т. Д.), Но я всегда думал, что это уменьшится до своего первоначального дефолта ~ 2 МБ.

У кого -нибудь есть какие -либо предложения, чтобы «смягчить» размер файла? Причина в том, что это проблема с космическим сознанием. Если бы у меня было множество места для работы, мне было бы все равно. Однако это не так, и мне нужно, чтобы все было максимально оптимальным

Спасибо!

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

Решение

Единственный способ освободить неиспользованное пространство в базе данных Firebird - это сделать резервную копию, а затем немедленное восстановление этой резервной копии (ссылка: Firebird Faq).

Здесь это хорошее техническое объяснение того, почему это так.

Обратите внимание, что Firebird будет повторно использовать в настоящее время неиспользованное пространство - т.е. Если вы вставите еще 10 МБ каплей, база данных не должна расти до 30 МБ.

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