Запрос в Access DB быстрее, чем внешний запрос в Excel (мощный редактор запросов)? - PullRequest
1 голос
/ 09 мая 2019

Я должен оптимизировать производительность старой БД Access в моей компании.Он содержит несколько таблиц с около 20 столбцами и 50000 строк.Скорость очень низкая, потому что люди работают со всей таблицей и впоследствии устанавливают фильтры.

Теперь я хочу составить запрос, чтобы уменьшить объем данных в Excel перед передачей полных строк, но скоростьвсе еще очень медленный.

Сначала я попробовал новый редактор запросов мощности из Excel.Сначала я уменьшил строки, выбрав только несколько последних (по дате).Затем я сделал внутреннее соединение со 2-й таблицей.

Наконец я получил менее 20 строк, и мне показалось, что все в порядке.Но когда я запустил Excel для выполнения запроса, потребовалось 10-20 секунд, чтобы прочитать данные.Я мог видеть, что Excel загружает полные таблицы, прежде чем устанавливать фильтры.

Моя следующая попытка состояла в том, чтобы создать тот же запрос непосредственно в БД Access, тот же параметр.Затем я открыл этот запрос в Excel, и время загрузки строк практически равно нулю.Вы выбираете «обновить», и результат отображается мгновенно.

Мой вопрос: есть ли способ выполнить запрос только в Excel (не касаясь файла Access), который почти так же быстр, как запросв самом Access?

С уважением, Стефан

1 Ответ

0 голосов
/ 09 мая 2019

Конечно.

Просто запустите SQL-запрос из MS Query в Excel. Вы можете создать запрос в Access и скопировать SQL в MS Query. Они выполняются одним и тем же механизмом базы данных и должны работать с одинаковой скоростью.

См. на этой странице поддержки о том, как выполнять запросы с использованием MS Query в Excel.

Доступны более сложные решения с использованием VBA, но они не нужны.

...