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

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

Насчет удаленных записей в Interbase [D5, IB6.x]


Malder ©   (2002-03-02 17:35:00) 

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

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


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

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


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

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


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

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


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

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

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


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

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

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




evgeg   (2002-03-03 21:24:00) [6]

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


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

Backup/Restore


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

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


[NIKEL]   (2002-03-03 16:56:00) [9]

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


Malder   (2002-03-03 12:31:00) [10]

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


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

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


evgeg   (2002-03-03 01:42:00) [12]

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

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


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

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


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

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


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

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


Наверх

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