2016-08-14 1 views
1

У моего доступа 2016 db есть ссылки на несколько файлов CSV, некоторые из которых довольно большие (> 120 МБ). При выполнении сложных запросов в этих файлах CSV скорость слишком медленная, чтобы быть практичной. Я не могу создавать локальные таблицы этих связанных файлов CSV, потому что после каждого цикла запущенных запросов эти файлы CSV обновляются с обновленными данными внешним сервером.MS-Access: медленные запросы по связанным файлам CSV

Что я могу сделать, чтобы ускорить процесс?

+0

Не используйте CSV-файлы для запросов, как объясняет @ThunderFrame. CSV - это текстовые файлы, обычно используемые для переноса/переноса данных через системы или архивирования и не должны использоваться в приложениях. – Parfait

ответ

2

Было бы разумно импортировать данные CSV в локальные временные/промежуточные таблицы. Затем вы можете запускать запросы во временную таблицу, и если запрос должен использовать соединения или очень сложный, вы можете, по мере необходимости, использовать индексы во временной таблице.

Как только вы закончите запрашивать данные, вы можете усечь или отбросить временные таблицы.

+0

Я вроде как знал этот трюк, но проблема в том, что размер файла базы данных очень быстро доходит до 2 ГБ, а автоматическое уплотнение db непросто – Kashif

+0

Временные таблицы не обязательно должны находиться в одной и той же базе данных. Вы не получаете всю скорость, но связанные таблицы доступа быстрее, чем связанные CSV-файлы. – ThunderFrame

+0

, даже если я создаю новый db для временных таблиц; если я буду переписывать их, это новые воздушные шары размера db и необходимо регулярно уплотнять, иначе он перестанет работать на 2 ГБ. – Kashif

1

Другой вариант заключается в нагрузки (не точно так же, как импорта) файлы CSV в MySQL:

Import CSV File Into MySQL Table

Это очень быстрый процесс - близко к простая копия файла.

Затем используйте MyODBC для подключения к экземпляру MySQL через ODBC.

+1

Когда MySQL пришел в разговор? – dbmitch

+1

Учитывая требования/ограничения, это кажется хорошим подходом. – Andre

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