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

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

Восстановление после упаковки [Paradox]


Gorlum ©   (2004-01-23 16:39:00) 

Мастера, просветите.
Предположим я сделал Emptytable. Нужно ли после этого делать упаковку таблиц? Если да, то скажите, а после упаковки удалённые данные можно как-то восстановить?


Term   (2004-01-23 17:56:00) [1]


> А то, если просто удалить файл - то его можно восстановить,
> что мне не нужно

но если вместо него записать новый файл с таким же именем то старый не восстановиться


Set   (2004-01-23 17:20:00) [2]

>sniknik ©
И данные востановить уже нельзя никак?
Мне нужно, что было именно нельзя.
А то, если просто удалить файл - то его можно восстановить, что мне не нужно.


sniknik   (2004-01-23 17:13:00) [3]

Term © (23.01.04 16:47) [1]
не совсем сразу, там страничная организация и удаление идет на текушей странице со сдвигом а следующая может так и оставатся полной и размер не уменьшится. (теоретически возможно удалить как что после и востановить можно, если к примеру только "верхнии записи с каждой страници").

но вот дальше правда, упаковка после удалений в принципе не нужна, пустое место используется повторно.
хотя сам сталкивался с глюком когда таблица уже переполненная (для 2го 4кб размера страницы) после упаковки ужалась на немыслимый размер. со 128мг на ~8мг. т.е. изначально была в таком состоянии что должны были страницы удалятся но этого не было. (глючную таблицу к сожалению не сохранил)
упаковку можно делать для профилактики возможныж подобных глюков и для сбора всех записей на возможно меньшее количество страниц.

а теперь по вопросу
> Предположим я сделал Emptytable.
вот после него не нужно, т.к. есть мнение ;о) (мое) что оно делается пересозданием таблицы. (во первых быстро, быстрее чем цикл с delete, во вторых нужны привелегии большие чем для просто delete) легко проверяется, сделай его (Emptytable) и посмотри на размер, он будет минимально возможный как после create. (если не так кинь в меня камень ;о)))


Gorlum   (2004-01-23 17:01:00) [4]

а в Paradox"е она удаляется сразу
Разве?
Тогда почему размер БД уменьшается после упаковки?


Term   (2004-01-23 16:47:00) [5]

ты Paradox путаеш c DBF, это там при удалении запись помечается как удалённая, а в Paradox"е она удаляется сразу. Так что дальше подумай сам.


Наверх

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