Это связано с моей предыдущей теме: SQL Query takes about 10 - 20 minutesSQL узкое место, как исправить
Однако я вроде разобрался с проблемой. Проблема (как описано в предыдущем потоке) не вставка (в то время как его все еще медленно), проблема зацикливания через самих данных Рассмотрим следующий код:
Dim rs As DAO.Recordset
Dim sngStart As Single, sngEnd As Single
Dim sngElapsed As Single
Set rs = CurrentDb().QueryDefs("select-all").OpenRecordset
MsgBox "All records retreived"
sngStart = Timer
Do While Not rs.EOF
rs.MoveNext
Loop
sngEnd = Timer
sngElapsed = Format(sngEnd - sngStart, "Fixed") ' Elapsed time.
MsgBox ("The query took " & sngElapsed _
& " seconds to run.")
Как вы можете видеть, этот цикл делает НИЧЕГО. Вы ожидаете, что он закончится за считанные секунды, однако для запуска потребуется около 857 секунд (или 15 минут). Я не знаю, почему это так медленно. Может быть, лотоснитовы SQL-драйвера?
любые другие идеи? (Java на основе решения, любое другое решение)
Что моя цель: Чтобы получить все данные с удаленного сервера и вставить в локальную таблицу доступа
Ну лично я почти НИКОГДА не зацикливаюсь на записях, вы имеете дело с данными базы данных в наборах не петель. – HLGEM
Сколько записей вы просматриваете? Над чем связь? –
Около 6000 над представлением SQL LotusNotes. используя драйвер notesSQL. – masfenix