Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Вниз

Насчет удаленных записей в Interbase 


Malder   (2002-03-02 17:35) [0]

Знаю, что в Interbase (да и в большинстве сетевых баз данных) удаленные записи физически из файла не удаляются, а просто помечаются как удаленнные. В связи с этим вопрос: можно ли как-то работать с этими помеченными на удаление записями ? Например, просматривать их, окончательно удалять и т.д. ?

P.S. И в догонку вопрос: как сделать Pack для таблицы Interbase, то есть очистить ее от удаленных записей ?



Иван Шихалев   (2002-03-02 18:07) [1]

Насколько я помню, работать с ними не положено. А чтобы сделать Pack нужно использовать Backup/Restore.



Anatoly Podgoretsky   (2002-03-02 18:09) [2]

Это не твоя головная боль, а Интербейса. И с чего ты решил, что там что то помечается, формат то закрыт, да и к базе как правило прямого доступа нет.



Иван Шихалев   (2002-03-03 00:58) [3]

Ну... Называть формат при открытых исходниках самого сервера закрытым - несколько некорректно. А то, что IB - версионник, так это его производители (и те и другие) утверждают.



evgeg   (2002-03-03 01:42) [4]

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

Работать, просматривать и т. п. нельзя. После завершения транзакции они не существуют для пользователя.



Anatoly Podgoretsky   (2002-03-03 11:49) [5]

Из наиболее известных баз, только dBase поддерживает работу с удаленными записями, остальные нет.
Упаковка есть практически во всех базах, это Pack, Restructure, Compacting или Backup/Restore для Интербейс.



Malder   (2002-03-03 12:31) [6]

Я все понимаю.
Но коли записи не удаляются, значит они остаются =)
А значит с ними как то можно работать, наверное.
Может не с помощью Interbase, а как нибудь по другому....
Вот вопрос. А как восстановить удаленные записи ?



[NIKEL]   (2002-03-03 16:56) [7]

если тока напрямую gdb файл править\смотреть, но это ж надо его формат знать :)



Malder   (2002-03-03 20:12) [8]

А как восстановить удаленные записи ?
Если и это невозможно, то вообще непонятно, почему Interbase сразу не стирает записи в *.gdb



Anatoly Podgoretsky   (2002-03-03 20:56) [9]

Backup/Restore



evgeg   (2002-03-03 21:24) [10]

Подробно механизм версионности описывается в статье на ib.demo.ru. Советую почитать - многие вопросы отпадут.



Prog_SKV1   (2002-03-04 06:43) [11]

>Malder
А как восстановить удаленные записи ?
Если и это невозможно, то вообще непонятно, почему Interbase сразу не стирает записи в *.gdb

На больших базах данных, ну к примеру 1Ггб и более
из таблицы в 10 млн. записей , физическое удаление 500 тыс. записей может занять несколько десятков часов в зависимости от сервака,а пометочка в полянке что они удалены значительно быстрее
поэтому IB их помечает а не удаляет.





Suntechnic   (2002-03-04 07:11) [12]

>Malder (03.03.02 20:12)
>почему Interbase сразу не стирает записи в *.gdb?

Ты когда файл с HDD удаляешь каждый раз дефрагментацию диска запускаешь?



Bogatchev   (2002-03-13 11:11) [13]

Может я не в тему, но спрошу.
Есть аналогичная проблема с записями в Парадоксе. Записи удаляются, а объём таблицы ни на грам не меняется.
Как заставить его работать по человечески.
(Удаляю с помошью метода Table1.Delete; )



fnatali   (2002-03-13 11:37) [14]

>Bogatchev (13.03.02 11:11)
Да, ты сильно не в тему. Надо открывать отдельную ветку на новый вопрос.
Для упаковки таблицы посмотри dbiPackTable



ОлегЕ   (2002-03-13 12:09) [15]

В IB есть рараметр - Sweep Interval - он указывает серверу через сколько транзакций "очищать" удаленные записи, но можно выполнить SWEEP по своему желанию. Размер базы при этом не изменяется, место резервируется под новые записи. Действительно, только Backup/Restore может уменьшить размер.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.017 c
3-9356            VL                    2002-03-07 12:53  2002.04.04  
Помогите перености между базами *.GDB blob-поле...


3-9370            Demon ltd             2002-03-11 22:39  2002.04.04  
Удаление из таблицы, опять


7-9656            XM-AD                 2002-01-09 15:52  2002.04.04  
Получить список установленного ПО???


7-9666            AlexBeliy             2002-01-06 11:48  2002.04.04  
Поиск в реестре


1-9500            SergeyDon             2002-03-20 19:56  2002.04.04  
опять MDI и DLL