這與我以前的主題: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