Вставка в локальную таблицу из связанной таблицы выполняется медленно - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь найти способ закрепить запрос на вставку в Access Db.

У меня есть связанная таблица с именем QUADReportSource в Access db, которая подключена к электронной таблице с именем QUAD_report на моем диске C.Я пытаюсь скопировать 2 столбца с именами Outlet и Agent Type из QUADReportSource и вставить в локальную таблицу с именем TblTempQuad.

QUADReportSource содержит повторяющиеся записи (один и тот же номер розетки с другим типом агента), поэтому при вставке я проверяю только уникальныекомбинации [Outlet, Agent Type] вставляются в локальную таблицу путем создания столбцов Outlet и Agent Type первичного ключа TblTempQuad.

QUADReportSource содержит 332024 записи.Вставка всех 332024 занимает 3 минуты, я надеюсь, что вставка уникальных записей в TblTempQuad должна занять меньше, но это займет 5-6 минут.Тот же самый результат, когда я использую отличное ключевое слово в запросе выбора вместо первичного ключа.

Вот запрос:

db.Execute "insert into TblTempQuad([Outlet],[Agent Type]) select [Outlet],[Agent Type] from QUADReportSource"

1 Ответ

0 голосов
/ 19 июля 2018

Я думаю, что SQL должен быть довольно быстрым и определенно более быстрым, чем циклический просмотр записей с использованием VBA, но как насчет acc.DoCmd.TransferSpreadsheet?Вот пример.

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "importTable", "C:\test\test.xlsx", ", True

Я не знаю, как это связано с SQL Server.

...