Редактировать начало
Краткий ответ: «Нет, это не решит проблемы большой базы данных».
Возможно, вы сможете преодолеть ограничение размера БД (~ 2 ГБ) с помощью этого трюка, но я никогда не проверял его.
Как правило, при работе с большими базами данных MS Access возникают проблемы со скоростью и повреждением данных.
Скорость
Это поможет со скоростью? У вас остается тот же объем данных для запроса и поиска, и тот же алгоритм. Итак, все, что вы делаете, это добавляете накладные расходы, связанные с открытием нескольких файлов на запрос. Поэтому я ожидаю, что это будет медленнее.
Возможно, вам удастся ускорить его, сократив время, необходимое для получения информации с диска. Вы можете сделать это несколькими способами:
- более быстрые диски
- положить MDB на RAID (анекдотически RAID-1,0 может быть быстрее)
- разделите MDB (как вы предлагаете) на несколько MDB и поместите их на отдельные диски (возможно, даже на отдельные контроллеры).
(насколько хорошо это будет работать на практике по сравнению с теорией, я не могу вам сказать - если бы я выполнял такую большую работу, я бы все же решил переключать двигатели БД)
Повреждение данных
MS Access имеет заслуженную репутацию за повреждение данных. Честно говоря, у меня не было такого раньше со мной. Это может быть потому, что я научился не использовать его для чего-то большого; или это может быть потому, что MS приложил много усилий, чтобы решить эти проблемы; или, скорее, комбинация обоих.
Основные виновники в повреждении данных:
- Аппаратное обеспечение: например, космические лучи, электрические помехи, ненадежные накопители, ненадежная память и ненадежные процессоры - я подозреваю, что MS Access не так хорошо обрабатывает и исправляет ошибки, как другие базы данных.
- Сети: множество коллизий в насыщенной сети может запутать MS Access и убедить его закодировать важные записи; так же может неоптимально реализованные сетевые протоколы. TCP / IP хорош, но не непобедим.
- Программное обеспечение: Как я уже говорил, MS проделала большую работу над MS Access на протяжении многих лет, если вы не обновляете свои патчи (MS Office и ОС), будьте в курсе. Проблемы обычно возникают, когда вы достигаете таких крайностей, как ограничение в 2 ГБ (некоторые ошибки сложно проверить и они не проявят себя, за исключением крайних случаев, что снижает вероятность того, что их увидят или исправят, если только мотивированный пользователь не сообщит МС).
Все это усугубляется большими базами данных, потому что большие базы данных, как правило, имеют больше пользователей и больше рабочих станций, которые обращаются к ним. В целом увеличивается база данных и количество пользователей, чтобы обеспечить больше возможностей для коррупции.
Редактировать Конец
Лучше всего было бы перейти на что-то вроде MS SQL Server. Вы можете начать с миграции ваших данных, а затем связать с ними один MDB. Вы получаете стабильность SQL-сервера, и большая часть (если не все ) вашего кода все еще должна работать.
Как только вы это сделаете, вы можете вместо этого начать миграцию ваших приложений VB на наш SQL Server.