Форум: "Базы";
Текущий архив: 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 может уменьшить размер.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c