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

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

Сжатие БД [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;

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


Наверх

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