Access 2010 DB стремительно растет

У меня есть база данных Access, которую я создал из электронной таблицы Excel.

БД содержит основную таблицу с 58 полями, три другие таблицы с примерно 10 полями и последнюю таблицу с двумя полями. Большая часть новой информации поступает в основную таблицу.

После нескольких дней использования (два пользователя) размер базы данных увеличился с 20 МБ до 50 МБ. Некоторые новые записи добавляются, но их недостаточно для создания 30 МБ. В моей основной таблице было 4000 записей после того, как я закончил импорт из Excel и сжал базу данных.

Пользователи не добавили более нескольких десятков новых записей, и после сжатия база данных снова уменьшилась примерно до 20 МБ. Это обычное дело для 2010 года? С 2000/2003 никогда такого не было.

Спасибо, Уэстли.


person Westley    schedule 20.04.2011    source источник
comment
Есть ли много редактирования/удаления строк   -  person rerun    schedule 21.04.2011
comment
Ужасный совет @Aaron Kempf: последнее, что вы хотите делать с SQL Server, — это автоматическое сжатие базы данных!   -  person Mitch Wheat    schedule 04.04.2017


Ответы (2)


Да, это обычное дело.

Наиболее распространенными причинами раздувания базы данных Access являются чрезмерное использование временных таблиц и чрезмерное использование не-querydef SQL. Всякий раз, когда вы кодируете строку SQL за пределами querydef, Access должен «связывать» этот оператор КАЖДЫЙ раз, когда он запускается. Этот процесс занимает небольшое количество времени и использует большой объем рабочей области, которая не восстанавливается до тех пор, пока вы не уплотните базу данных. Querydef «привязываются» при сохранении и при сжатии БД. Ссылка.

Множество вставок/удалений также вызовет рост.

ACC: база данных быстро растет при изменении операторов SQL

Представляет интерес?: Проблема увеличения размера файла MS Access

person Mitch Wheat    schedule 20.04.2011

Изображения в отчетах также могут привести к увеличению размера базы данных. Я нашел другой способ увеличения размера базы данных Access. Если у вас есть отчет (и, возможно, также форма?), где есть изображения, вставленные из внешнего файла, то один из вариантов «тип изображения» — «общий». Если используется этот параметр, Access сохраняет новую локальную копию изображения каждый раз, когда используется другое изображение. В моей базе данных Access объемом 1 Мбайт оказалось 500 Мбайт внутренних изображений. Кажется, нет никакого способа сбросить их, и сжатие базы данных не очищает их.
Решение состоит в использовании параметра «связанный» «тип изображения». Я скопировал содержимое базы данных в новую базу данных, и она осталась на уровне 1 МБ.

person Nigel Dyer    schedule 22.11.2018