![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сжатие БД [D5, Access 2000]
avkar © (2003-05-03 18:08:00)Уважаемые знатоки.
Я написал программу, которая работает с БД, реализованной в ACCESS. В этой проге существует возможность удаления старых и уже ненужных записей. Но проблема в том, что размер файла БД при этом не уменьшается. Поэтому у меня такой вопрос: Каким образом программно выполнить сжатие БД? И как отражается сжатие БД на ее производительность?
sniknik (2003-05-03 18:38:00) [1]ненадолго, до тех пор пока не выйдет на рабочий обьем (увеличение файла идет медленнее чем перезапись внутри). вообще эта прцедура не имеет смысла в частомиспользовании. другое дело изредка (реструктурирует базу, менее вероятен сбой), или при глобальномудалении, ну там на треть обьема и увеличиваться вряд ли будет.
avkar (2003-05-03 18:26:00) [2]> начинает притормаживать, до тех пор пока не выйдет обратно на рабочий обьем.
----------------------------------------------------------
В смысле: после сжатия будет работать медленнее?
sniknik (2003-05-03 18:22:00) [3]var je: Variant;
begin
je:=CreateOleObject("JRO.JetEngine");
je.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Base.mdb;",
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\BaseNew.mdb;"+
"Jet OLEDB:Encrypt Database=True");
je:= Null;
> И как отражается сжатие БД на ее производительность?
начинает притормаживать, до тех пор пока не выйдет обратно на рабочий обьем.