![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление записей в Paradox из Delphi [D5, Paradox]
AlexeyMir © (2002-11-07 13:38:00)При удалении записей в БД Paradox, физический размер базы не уменьшается, хотя она пустая, Как сделать, чтобы при удалении записей и БД тоже уменьшалась?
MsGuns (2002-11-07 16:20:00) [1]Так устроен не только Paradox, но и большиноство движков. При удалении записей он не удаляются из файла физически, а просто помечаются как удаленные. В некоторых БД (dBase) и можно "реанимировать". Когда будет добавляться новая запись, движок найдет ей "нишку" и не будет требовать у ОС дополнительных кластеров диска, что существенно уменьшает дефрагментацию и увеличивает скорость обмена информацией.
Если очень хоцца уменьшить физ.место БД на диске (например, после удаления из БД устаревшей инфы), то делается "упаковка", которая заключается в том, что из таблицы извлекаются все активные записи (SELECT *) в некоторую временную, затем таблица пересоздается (Empty), и затем записи из врем.НД записываются назад. Иногда после такой "чистки" таблицы действительно начинают "летать" (для Парадокса так точно)
AlexeyMir (2002-11-07 13:42:00) [2]И еще, с БД работаем через TTable