Excel 2010数据 – >“全部刷新”缓慢

目前我正在使用一个Excel电子表格,至less对外部Microsoft Access * .mdb文件进行10次数据库查询。 对于我的公司工作的每个项目,我们都有一个与该项目相关的特定excel文件,所以我们有数百个这样的文件。 通常当分析师打开数据标签并点击“全部刷新”时,刷新在一两分钟内完成; 但是,对于一个给定的excel文件的新项目,至less需要一个小时才能完成刷新。 这是一个连接string的例子:

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 

我花了时间研究各种网站,讨论缓慢的Excel问题,如http://msdn.microsoft.com/en-us/library/ff700515.aspx ; 然而,这些网站处理更多的计算和VBA,而我怀疑性能问题是在访问文件中的某个地方。 有没有人有任何build议如何排查和解决这个问题? TIA。

更新:正如JohnFx下面的答案中所build议的那样,我检查了查询,发现他们没有确定的键,所以在Microsoft Access数据库代中添加了这样的键:

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

作为问题的一部分,直接在Access中直接运行查询以将Excel规则导入或导出。 如果Access中的查询仍然很慢,请考虑在正在sorting或过滤的列上添加索引。