База данных Firebird продолжает становиться все больше
-
20-09-2019 - |
Вопрос
Это интересно для меня - несмотря на почти бессмысленное название. Я долгое время использовал Firebird, но только недавно заметил интересное поведение.
Я использую Embedded Firebird 1.5 и заметил, что если я наполняю базу данных, полную каплей (скажем, на 10 МБ), размер базы данных увеличивается. Затем я могу удалить все поля в базе данных, и размер файла БД остается при расширенном размере. В настоящее время он находится на 20 МБ и совершенно пуст.
Я знаю, что Firebird встроен в свою архитектуру (для быстрого индексации, проблем с скоростью и т. Д.), Но я всегда думал, что это уменьшится до своего первоначального дефолта ~ 2 МБ.
У кого -нибудь есть какие -либо предложения, чтобы «смягчить» размер файла? Причина в том, что это проблема с космическим сознанием. Если бы у меня было множество места для работы, мне было бы все равно. Однако это не так, и мне нужно, чтобы все было максимально оптимальным
Спасибо!
Решение
Единственный способ освободить неиспользованное пространство в базе данных Firebird - это сделать резервную копию, а затем немедленное восстановление этой резервной копии (ссылка: Firebird Faq).
Здесь это хорошее техническое объяснение того, почему это так.
Обратите внимание, что Firebird будет повторно использовать в настоящее время неиспользованное пространство - т.е. Если вы вставите еще 10 МБ каплей, база данных не должна расти до 30 МБ.