这与我以前的主题: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分钟)。我不知道为什么它如此缓慢。也许lotusnotes sql驱动程序?
还有其他想法吗? (基于Java的解决方案,任何其他解决方案)
什么我的目标是:从远程服务器获取所有数据,并插入到本地访问表
亲自我几乎从来没有通过记录循环,你处理数据库数据集不循环。 – HLGEM 2010-06-18 13:56:09
您正在检索多少条记录?在什么连接? – 2010-06-18 13:56:36
在LotusNotes SQL视图中大约有6000个。使用notesSQL驱动程序。 – masfenix 2010-06-18 14:03:54