![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Размер БД растет 'не подням, а по часам'! [D5, dBase, FoxPro]
LAndreyV © (2004-03-26 11:53:00)Привет всем!
У меня БД dBase IV.
В течении дня я пополняю ее новой информацией, а устаревшие записи стираю. Работает всего неделю, а размер ее уже превысил
1 Gb !!! , хотя у меня записей в ней на текущий момент всего 5 шт!???
Объясните, в чем проблема ?????
Заранее благодарен.
Anatoly Podgoretsky (2004-03-26 19:37:00) [1]Это все обеспечивет БДЕ
KSergey (2004-03-26 17:21:00) [2]> [14] Term © (26.03.04 16:31)
> имееш ввиду пометка что запись удалена, так тогда именно
> придётся открывать с экслюзивным доступом, а это при много
> пользовательской работе проблемно.
Нет, не нужен монопольный доступ.
Эта пометка легко снимается/ставится при многопользовательском доступе к таблице.
PS
Эх, клиппер... Вот вещь была!
Term (2004-03-26 16:31:00) [3]
> KSergey © (26.03.04 16:25) [13]
имееш ввиду пометка что запись удалена, так тогда именно придётся открывать с экслюзивным доступом, а это при много пользовательской работе проблемно.
И ваще как мне кажется, при недельном обороте в один гиг, думаю нужно sql-сервер какойнить поставить, объёмы то не хилые
KSergey (2004-03-26 16:25:00) [4]> [12] Term © (26.03.04 16:21)
Галочка уже есть. Зачем еще одна??
Term (2004-03-26 16:21:00) [5]
> Я не знаю как там в BDE - можно ли получить доступ к удаленным
> записям
тут всё как в нормальных СУБД :)))) есть БДЕ АПИ пусть его смотрит и востанавливает, а ваще конечно галочку и писать поверх старых записей
KSergey (2004-03-26 16:16:00) [6]> [9] LAndreyV © (26.03.04 13:05)
> и что мне это даст?
А то, что раз инфа у вас так быстро устаревает (что же это за инфа такая??), то вместо старых записей (на их фиическое место!) надо класть новые, тогда и рост таблиц будет соответствовать реальному накоплению данных, а не пропорционально кол-во "проходящих" данных.
Впрочем, как было сказано выше, в DBF файле такой флажек уже есть.
Я не знаю как там в BDE - можно ли получить доступ к удаленным записям - но все нормальные СУБД, предназначенные для работы с DBF такую возможность дают, бюолее того - позволяют сей флажек снять.
Тут еще накручиваются и нюансы сетевой работы: паковать таблицу (процедура удаления из нее записей, помеченных как удаленные) можно только при эксклюзивном к ней доступе, а потому делать это в разгар рабочего дня не получается. Вот тут на помощь и приходит механизм "восстановления" записей: вместо добавления новой сначала ищутся удаленные, а уж если таковых нет - то добавляется новая.
Впрочем, все это уже написано предыдущими товарищами...
Term (2004-03-26 15:58:00) [7]в общем пакуй базы и всё. хоть для проверки DataBase DeskTop'ом
LAndreyV (2004-03-26 13:05:00) [8]и что мне это даст? размер-то не уменьшится, - просто они не будут показываться при запросе Select * from БД Where isDeleted=0
ЮЮ (2004-03-26 12:59:00) [9]>В течении дня я пополняю ее новой информацией, а устаревшие записи стираю.
Добавь поле IsDeleted. Для устаревших записей зтавь 1. Пополняя новой информацией, используй значала "удаленные", заменяя 1 на 0, и лишь при их отсутствии - вставляй новые.
Sergey13 (2004-03-26 12:58:00) [10]2ЮЮ © (26.03.04 12:50) [5]
Флудю я после обеда 8-), но почему "должна"?
LAndreyV (2004-03-26 12:52:00) [11]а чем называть?
файлы для хранения информации?
Где я по-твоему должен хранить такие объемы информации, в .txt что ли?
ЮЮ (2004-03-26 12:50:00) [12]Если за неделю 1 GB записей устарел, то почему ты это называешь БД? Информация в ней должна храниться годами :-)
Romkin (2004-03-26 12:05:00) [13]С помошью dbiPackTable
пример есть в хелпе. BDE reference смотри
LAndreyV (2004-03-26 12:04:00) [14]а каким макаром их удалять физически???
Nikolay M. (2004-03-26 11:56:00) [15]"Удаляемые" записи не удаляются физически из файла (файлов) БД, а только помечаются как удаленные.
Sergey13 (2004-03-26 11:55:00) [16]'не подням, а по часам'
Тут по моему счет идет на минуты и секунды. 8-) Паковать не пробовал?