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

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

Можно ли как-то


Зинец Виктор ©   (2002-01-28 18:01:00) 

у меня есть Interbase-база; в ней некая таблица ~ 60 тыс. записей. В программе я сначала очистил эту таблицу (delete from Full), потом туда добавил примерно столько же записей - размер gdb файла увеличился на десяток мегабайт; еще раз проделал ту-же процедуру - еще десяток мегабайт, хотя по-идее, размер измениться не должен был - т.е. такое вчипятление, что записи отметились как удаленные, но в файле остались - если так, то как их убить?

(в поиске по форуму и ФАК-у ничего не нашел - может искал плохо)


Зинец Виктор   (2002-01-29 15:19:00) [1]

действ. - данные добавлялись, а размер не увеличивался;

но зато такой глюк начал наблюдаться - любая программа, использующая мою базу, работает нормально, а выключиться не может (а task manager показывает, что ibserver что-то делает с интенсивностью 70-80%); бакуп то-же кстати не работал; я тогда удалил эту таблицу, с которой все началось, сделал бакуп-ресторе и создал опять - пока все нормально... непонятно только, из-за чего вот этот глюк вылез... причем на разных машинах пробовал


Alexandr   (2002-01-29 13:08:00) [2]

sweep размер файла не сожмет.
действительно файл растет из-за того, что версии записей плодятся.
Чтобы ненужные версии записей убрать надо или sweep сделать, или для одной таблицы- запрос какой-нибудь например select count(*) from table.
При этом ненужные версии записей уберуться, а место станет свободным, и в него будут новые данные писаться.
А файл базы данных никогда не уменьшится он может только увеличиваться или оставаться неизменным, пока backup/restore не сделаешь- тогда уменьшится.


Fay   (2002-01-29 12:57:00) [3]

Что растёт - это норма.
Сжать - Sweep.
Ещё от сам жмёт через SweepInterval транзакций.


Зинец Виктор   (2002-01-29 12:55:00) [4]

2Alexandr:

явно не делал (я и StartTransaction не делал)


Alexandr   (2002-01-29 07:50:00) [5]

после удаления commit делал?
или в той-же транзакции потом еще и добавил?


evgeg   (2002-01-28 18:21:00) [6]

backup/restore


Наверх

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