2013-06-13 3 views
2

У меня возникла проблема чрезмерного роста базы данных при вставке данных через ODBC в базу данных Access 2010 (.accdb). Например, в одном случае база данных растет с 24 МБ до 140 МБ, но когда уплотнение сокращается до ~ 24 МБ.Чрезмерный рост базы данных Access 2010

Я заметил, что в базе данных есть таблицы с несколькими текстовыми полями, которые индексируются. Может ли быть причиной такого чрезмерного роста? Есть ли другие причины для этого?

ответ

3

Причина роста, скорее всего, фрагментация. Это происходит, когда данные часто удаляются. Я считаю, что это не связано с вставкой. Имел аналогичную проблему с моей базой данных. Я обнаружил, что я излишне вставил записи, чтобы показать определенное диалоговое окно, и сразу же удалил их. Это был «ярлык» в кодировании функции в программе. Когда я исправил код (в основном, я изменил код, чтобы не удалять записи, но просто продолжаю), рост остановился. Итак, просто проверьте процедуру вставки. Если он сначала удаляет (чтобы избежать дублирования или устаревших данных), измените этот код на ОБНОВЛЕНИЕ существующих записей.

+0

Спасибо за подсказку. Вы правы, перед вставкой старые данные удаляются из базы данных. Это также причина, по которой база данных сжимается до первоначального размера после уплотнения. – vitaut

+0

Ваша версия Access также имеет функцию автоматического выполнения компактного ремонта при каждом закрытии базы данных. Перейдите в раздел «Параметры файла» - «Текущая база данных», затем установите флажок «Compact on Close». –

Смежные вопросы