Вниз
Скачать: CL | DM;

Сжатие БД   Найти похожие ветки 

 
avkar ©   (2003-05-03 18:08) [0]

Уважаемые знатоки.
Я написал программу, которая работает с БД, реализованной в ACCESS. В этой проге существует возможность удаления старых и уже ненужных записей. Но проблема в том, что размер файла БД при этом не уменьшается. Поэтому у меня такой вопрос: Каким образом программно выполнить сжатие БД? И как отражается сжатие БД на ее производительность?


 
sniknik ©   (2003-05-03 18:22) [1]

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;

> И как отражается сжатие БД на ее производительность?
начинает притормаживать, до тех пор пока не выйдет обратно на рабочий обьем.


 
avkar ©   (2003-05-03 18:26) [2]

> начинает притормаживать, до тех пор пока не выйдет обратно на рабочий обьем.
----------------------------------------------------------
В смысле: после сжатия будет работать медленнее?


 
sniknik ©   (2003-05-03 18:38) [3]

ненадолго, до тех пор пока не выйдет на рабочий обьем (увеличение файла идет медленнее чем перезапись внутри). вообще эта прцедура не имеет смысла в частом использовании. другое дело изредка (реструктурирует базу, менее вероятен сбой), или при глобальном удалении, ну там на треть обьема и увеличиваться вряд ли будет.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
1-70366
oleg_sys
2003-05-09 20:19
2003.05.22
Почему ParamStr() теряет в имени пробелы?


3-70112
Oleg_delphin
2003-04-29 16:51
2003.05.22
Вставка в dbf используя Агрегаты


3-70106
romario
2003-04-29 10:20
2003.05.22
Как произвести обсчет?


1-70307
Dennis S
2003-05-06 17:31
2003.05.22
Точный Timer нужен...


4-70558
МитяЙ2
2003-03-23 10:41
2003.05.22
Вывод приложения на передний план...




   Наверх