在Access DB中进行查询的速度比使用Excel(高级查询编辑器)进行外部查询要快?

时间:2019-05-09 11:48:20

标签: excel ms-access excel-2016 ms-access-2016

我应该优化公司中旧的Access DB的性能。它包含几个约20列和50000行的表。速度非常慢,因为人们需要处理整个桌子并随后设置过滤器。

现在,我想在传输完整行之前编写一个查询以减少Excel中的数据量,但是速度仍然很慢。

首先,我尝试使用Excel的新电源查询编辑器。我首先通过仅选择最后几行(按日期)来减少行。然后,我与第二张桌子进行了内部联接。

最后,我返回的行数少于20,我认为我还好。 但是,当我启动Excel执行查询时,花了10到20秒来读取数据。我可以看到,在设置过滤器之前,Excel会加载完整的表。

我的下一个尝试是在Access DB中直接创建相同的查询,并且设置相同。然后,我在Excel中打开此查询,并且加载行的时间几乎为零。您选择“刷新”,结果将立即显示。

我的问题是:有什么方法可以仅在Excel中执行查询(不触摸Access文件),这几乎与Access本身中的查询一样快?

最好的问候, 斯蒂芬

1 个答案:

答案 0 :(得分:0)

当然。

只需从Excel中的MS Query运行SQL查询。您可以在Access中创建查询,然后将SQL复制粘贴到MS Query中。它们由相同的数据库引擎执行,并且应以完全相同的速度运行。

有关如何在Excel中使用MS Query运行查询的信息,请参见this support page

提供了使用VBA的更复杂的解决方案,但不是必需的。