2012-12-21 36 views
1

目前正與Excel電子表格,使至少10個數據庫查詢到外部的Microsoft Access *的.mdb文件的工作。對於我的公司工作的每個項目,我們都有一個與該項目相關的特定excel文件,因此我們有數百個這樣的文件。通常,當分析人員打開「數據」選項卡並單擊「全部刷新」時,刷新將在一兩分鐘內完成;但是,對於給定的excel文件的新項目,完成刷新需要至少一個小時。這裏是連接字符串的一個示例:Excel 2010中的數據 - >「全部刷新」慢

DSN=MS Access Database;DBQ=W:\Projects\Analysis\project.mdb;DefaultDir=W:\Projects\Analysis\Analysis;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5; 

這裏是相關查詢:

SELECT Field.FieldNumber, Field.FieldName, Field.GroupMnemonic, Field.ClientFieldID 
FROM Field Field 
ORDER BY Field.FieldName 

我花時間來研究不同的網站討論緩慢練成像http://msdn.microsoft.com/en-us/library/ff700515.aspx問題;然而,這些網站處理更多的計算和VBA,而我懷疑性能問題是在訪問文件中的某個地方。有沒有人有關於如何排除故障和解決此問題的建議? TIA。

更新:由於在下面的答案被JohnFx建議,我檢查了查詢,發現他們沒有明確的鍵,在Microsoft Access數據庫代某某添加鍵這樣的:

CREATE UNIQUE INDEX PIndex ON [myTable] ([KEY]) 
+1

多大表?如果您在Access中本地運行查詢,查詢需要多長時間? W:網絡驅動器?有沒有網絡問題? – Melanie

+2

你可能想看看微軟的不支持的噴氣優化工具:http://forum.lessthandot.com/viewtopic.php?f=95&t=9011 – Fionnuala

+0

是的,問題是訪問。需要排查爲什麼執行的第一個查詢需要這麼長時間。謝謝! – Roger

回答

2

運行這些查詢單獨直接在Access中規定Excel進入或退出,作爲問題的一部分。如果Access中的查詢仍然很慢,請考慮在正在排序或過濾的任何列上添加索引。