Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сжатие размера БД времени от времени [D7, FB 1.5]


ganda ©   (2008-04-04 10:10:00) 

Вопрос заключатеся, есть СУБД работающия на FireBird 1.5, в неё постоянно добавляются и удаляются N количество записей! Размер файла постоянно расстёт! И замечается что происходят тормоза когда файл занимает около 1 ГБ! При backup Restore размер файла меняется и производительность!
Как можно заставить FireBird делать самому backup Restore не напрягаю пользователей в процессе работы или убирать "мусор" за собой самостоятельно!


kaif   (2008-04-07 16:11:00) [1]

Кстати, если применяются массовые удаления из каких-то таблиц (или даже просто изменения), то я рекомендую в отдельных транзакциях после них делать запросы типа select count(*) над этими таблицами. Дело в том, что IB - версионник, и он удаляет старые версии строк только в момент select-ов к новым версиям этих строк. Если этих запросов не делать, то массовые удаления/добавления тоже могут приводить к безудержному росту объема базы. Мне кажется, что проблема в данном случае именно в этом кроется.


Германн   (2008-04-07 01:48:00) [2]

Странно. Не так давно (вроде бы) была тут ветка с весьма детальным обсуждением подобной темы. Но не смог найти ту ветку. :(


kaif   (2008-04-06 23:59:00) [3]

sweep не уменьшает размер файла базы. Но зато sweep позволяет освободить страницы, помеченные как занятые. Такие страницы возникают иногда при откатах транзакций. То есть sweep позволяет не уменьшить размер файла базы, но зато, возможно, позволит остановить ее безудержный рост.


Johnmen   (2008-04-04 10:26:00) [4]

Читай документацию по серверу. В частности про sweep interval.


ganda   (2008-04-04 10:19:00) [5]

как можно просто от времени к времени зачищать "мусор" в БД? в процессе работы?


ganda   (2008-04-04 10:18:00) [6]

Временными таблицами я точно не пользуюсь! а размер сжимается до 500 мб это пока единичный случай на производстве!


Sergey13   (2008-04-04 10:13:00) [7]

> [0] ganda   (04.04.08 10:10)

Что-то сомнительно, что при росте объема падает производительность.
Каков размер БД после сжатия? Ты случайно "временные" таблицы не используешь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо