Форум: "Базы";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
ВнизКак можно упаковать таблицу Paradox Найти похожие ветки
← →
yaric (2003-08-09 13:24) [0]Подскажите как можно упаковать таблицу Paradox в своей проге, как это делает DatabaseDesktop когда ставиш галку Pack table
:-)При интенсивной работе таблица страшно разростается, хотя данные удаляются, а размер базы все растет и растет ...
Помогает только в DatabaseDesktop Pack table.
← →
Anatoly Podgoretsky (2003-08-09 14:13) [1]dbiDoRestructure
Хотя для Парадокс это лишнее и даже вредное. Место используется повторно.
← →
yaric (2003-08-09 14:24) [2]dbiDoRestructure - это где и откуда
Я использую Delphi и BDE
>А насчет "Место используется повторно", я что-то сомневаюсь что у меня так это работает - записи удаляются и добавляю примерно такоеже количество как было удалено, а база увеличивается в два раза и так пока не сделаеш Pack table.
← →
sniknik (2003-08-09 14:35) [3]Anatoly Podgoretsky © (09.08.03 14:13)
> Хотя для Парадокс это лишнее и даже вредное. Место используется повторно.
бывают исключения. один раз сталкивался, типа говорит таблица переполнена (мах 128мг) но через раз, т.е. ошибка а при повторной записи проходит. сначала думал действительно переполнение, структуру поменять (на 256 или даже больше, очень уж быстро переполнилась). а как то на автомате сделал упаковку осталось гдето 4-8мг(!!!), т.е. явно глюк какойто был место не использовалось. (не BDE, это на обменном файле кассовой программы супермаг DOS)
почти сразу пожалел, что не сохранил глючный файл, больше не встречалось.
yaric (09.08.03 14:24)
может ты таблици без ключа(главный индекс) используеш? в этом случае может быть.
← →
Anatoly Podgoretsky (2003-08-09 15:13) [4]Глюк или поврежления таблиц конечно могут объяснить подобное поведение, я надеюсь он про .db файл говорит. Но вообще то я думаю, что реструктиризация устраняет большинство ошибок этого рода. Я как то спрашивал, относится ли повторное использование к .mb файлу или нет, но точного ответа не получил, сам я не использую Парадокс из за его недостатков и по ряду других причин.
← →
Anatoly Podgoretsky (2003-08-09 15:15) [5]Насчет индекма, работать с Парадоксом без первичного ключа конечно можно, но сильно не рекомендуется.
← →
Семен Сорокин (2003-08-09 16:14) [6]
function ReindexBase(aDB: TDatabase): boolean;
var
_i : integer;
_list: tStrings;
begin
Result := true;
aDB.CloseDataSets;
_list := tStringList.Create;
try
Session.GetTableNames(aDB.DatabaseName, "*.db", false, false, _list);
for _i := 0 to _list.Count - 1 do
with TTable.Create(nil) do
try
DatabaseName := aDB.DatabaseName;
TableType := ttParadox;
Exclusive := true;
TableName := _list[_i];
try
Active := true;
Check(dbiRegenIndexes(Handle));
except
on E: Exception do begin
MessageDlg("
← →
yaric (2003-08-09 21:17) [7]Первичный ключ у меня есть (тип автоинкримент)
В размере растет *.db файл
Попробую то что посоветовал Семен Сорокин, т.к. кроме непомерного роста, таблицы работают нормально
Пробовал даже создавать таблицу заново - тот же эффект, кстати такое творится со всеми таблицами в базе.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c