![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Оптимизация файлов БД [D6, Paradox]
dimka © (2003-04-01 14:40:00)Добрый день!
Есть такой вопрос к мастерам:
Программа правильно работает с БД Парадокс через BDE (ошибок не возникает). Но я заметил, что если загрузить в таблицу скажем store, много позиций, а потом их все удалить, то физический файл БД store.db по-прежнему содержит удаленные позиции.
При просмотре через Database Desktop удаленных позиций тоже нет.
То есть все вроде правильно, но зачем BDE оставляет эту информацию в файле и как можно очисть ее?
Примечание: FlushBuffers - не помогает.
MsGuns (2003-04-01 17:13:00) [1]>Соловьев © (01.04.03 15:07)
Обалдел...
>Соловьев © (01.04.03 15:15)
Пошел в кладовку за красной лопатой
>Соловьев © (01.04.03 15:19)
Посмеялся...
Такая вот "эволюция"
Всех с праздничком !!!!! ;)))
Mike Kouzmine (2003-04-01 15:32:00) [2]в RX есть функция PackTable(T : TTable) ну или что-то в этом роде.
Соловьев (2003-04-01 15:31:00) [3]
> Anatoly Podgoretsky © (01.04.03 15:16)
dimka (2003-04-01 15:29:00) [4]ценю юмор :)
я повелся...
но все же есть идеи?
sniknik (2003-04-01 15:24:00) [5]Соловьев © (01.04.03 15:19)
в Потрепатся это было бы смешно.
Соловьев (2003-04-01 15:19:00) [6]
> Anatoly Podgoretsky © (01.04.03 15:16)
То что я писал - с 1-м апреля.
dimka (2003-04-01 15:18:00) [7]
> есть скрытая функция у BDE. PackParadoxInEnter(TableName);
я наверное что-то делаю не так...
такой функции у меня нет, нет и
session.PackParadoxInEnter(TableName);
надо добавить какой-то модуль в uses?
Anatoly Podgoretsky (2003-04-01 15:16:00) [8]dbiDoRestructure
но само по себе это лишнее, место используется повторно.
Соловьев (2003-04-01 15:15:00) [9]угу. А потом будет использована еще одна скрытая функция Парадокса - там начнет запускать что-то триггера. Упаковка будет происходить автоматически.
dimka (2003-04-01 15:11:00) [10]
> Запускать только перед create Table.
То есть, выполнить ее надо только один раз (а не каждый раз при загруки проги) перед созданием таблицы?
Соловьев (2003-04-01 15:07:00) [11]есть скрытая функция у BDE. PackParadoxInEnter(TableName);
Запускать только перед create Table.
dimka (2003-04-01 15:02:00) [12]
> лучше при входе.
Спасибо, но как именно выполняется упаковка?
Соловьев (2003-04-01 14:49:00) [13]лучше при входе.
dimka (2003-04-01 14:46:00) [14]
> и не поможет.
> Упаковка должна помочь
Упаковку можно выполнить из самого приложения, скажем при выходе?
Соловьев (2003-04-01 14:43:00) [15]
> Примечание: FlushBuffers - не помогает.
и не поможет.
Упаковка должна помочь.