Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отчего растет размер базы Acces?

438
10 января 2007 года
nice
103 / / 13.10.2003
Привет Всем.
Ребята ну растолкуйте, в маленьких локальных проектах использую базу данных Acces (нравится чем: очень простая разработка таблиц, простое подключение, и во всех книгах почему-то учат именно на них) но есть недостатки и самый интересный это
Почему размер базы т.е *.mdb файла растет при накоплении данными но при очистке таблице неуменьшается.
И еще сразу вопросик, какую базу могли бы посоветовать использовать, в локальных проектах? Почему то в жизни accesовские базы нигде не используются.
8
10 января 2007 года
mfender
3.5K / / 15.06.2005
Главный недостаток Access - цена. Дороговата для простых проектов.
Что использовать? Если данных предполагается не очень много, то я бы предпочёл XML + ClientDataSet. К тому же, у него есть собственный формат хранения данных. Основная причина - бесплатность.

О размере. Файл не уменьшится. Если я не ошибаюсь, не уменьшится даже после оптимизации таблиц. Но это не страшно.
547
11 января 2007 года
Hydra
488 / / 20.06.2006
Он только из-за BLOB-ов и MEMO не уменьшается. Остальные паковать можно.
11K
11 января 2007 года
.nornad
125 / / 04.01.2007
При удалении данных из таблиц уменьшения размера самой БД не происходит потому, что данные физически так и остаются в файлах БД. Так делают многие СУБД. Потому что проще и быстрее просто пометить данные как удалённые, чем физически их удалить. Обычно в таких случаях имеется какой-либо способ упаковки базы данных, при котором удалённые записи физически удаляются из файлов.

Для локальных проектов лично мне нравится исgользовать mysql 3.23, т.к. он бесплатен для некоммерческих проектов. Если же нужно однозначино бесплатное, то можно выбрать что-то другое - dbf, Firebird или вообще хранить данные в том же xml. Выбор обычно зависит от внешних условий.
309
11 января 2007 года
el scorpio
1.1K / / 19.09.2006
Цитата:
При удалении данных из таблиц уменьшения размера самой БД не происходит потому, что данные физически так и остаются в файлах БД. Так делают многие СУБД. Потому что проще и быстрее просто пометить данные как удалённые, чем физически их удалить. Обычно в таких случаях имеется какой-либо способ упаковки базы данных, при котором удалённые записи физически удаляются из файлов.


Конечно имеются: меню "Сервис \ Служебные программы \ Сжать и восстановить...".
Требует монопольного доступа администратора к БД, сопровождается закрытием и переоткрытием. Однако сам процесс занимает всего несколько секунд и вполне может выполняться под конец рабочего дня.

2.1K
12 января 2007 года
mainigor
151 / / 21.10.2005
Цитата: el scorpio
Конечно имеются: меню "Сервис \ Служебные программы \ Сжать и восстановить...".
Требует монопольного доступа администратора к БД, сопровождается закрытием и переоткрытием. Однако сам процесс занимает всего несколько секунд и вполне может выполняться под конец рабочего дня.



Кстати, если интересно как помять базу Access могу предложить. Хотя у меня может и путанный вариант : я делаю COM - объект на VB (у него удобнее доступ к Access, хотя может я и не прав, давненько было сделано ) а потом обращаюсь к нему из Builder. Можно из Delphi , не принципиально.

438
13 января 2007 года
nice
103 / / 13.10.2003
Спасибо всем за ответы, все приму к сведению. Я так и предполагал, что данные не удаляются, их просто невидно. Одно обидно, что база все наращивается. Почему поднял такой вопрос. Я тут недавно сделал небольшой проект, который 2 текстовых файла переводит в Acces овскую базу, свежая база практически весящая около 100 килобайт после выполнения модуля получает размер в 600 Мб, при выполнении тойже самой процедуры, в которой в начале стоит delete from pereras далее идет опять манипуляция с текстовыми файлами увеличивается примерно на 300 мб. Хотя программа рассчитана на бесконечное обработтку файлов, т.е. сколько пользователю нужно столько он и будет нажимать кнопку, база постоянно увеличивается. Самое интересное что 2 текстовых файла имеют размер 10мб, и 5мб, а база растет в таких сумасшедших размерах. Конечно поля таблиц сделаны с запасом в 100 символов. Но в сеже интересно было бы знать. Еще раз огромное Спасибо всем за ответы и зато что не обсмеяли и не послали. Чем кстати этот форм мне и нравится, это видно даже по дате регистрации.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог