我应该优化公司中旧的Access DB的性能。它包含几个约20列和50000行的表。速度非常慢,因为人们需要处理整个桌子并随后设置过滤器。
现在,我想在传输完整行之前编写一个查询以减少Excel中的数据量,但是速度仍然很慢。
首先,我尝试使用Excel的新电源查询编辑器。我首先通过仅选择最后几行(按日期)来减少行。然后,我与第二张桌子进行了内部联接。
最后,我返回的行数少于20,我认为我还好。 但是,当我启动Excel执行查询时,花了10到20秒来读取数据。我可以看到,在设置过滤器之前,Excel会加载完整的表。
我的下一个尝试是在Access DB中直接创建相同的查询,并且设置相同。然后,我在Excel中打开此查询,并且加载行的时间几乎为零。您选择“刷新”,结果将立即显示。
我的问题是:有什么方法可以仅在Excel中执行查询(不触摸Access文件),这几乎与Access本身中的查询一样快?
最好的问候, 斯蒂芬
答案 0 :(得分:0)
当然。
只需从Excel中的MS Query运行SQL查询。您可以在Access中创建查询,然后将SQL复制粘贴到MS Query中。它们由相同的数据库引擎执行,并且应以完全相同的速度运行。
有关如何在Excel中使用MS Query运行查询的信息,请参见this support page。
提供了使用VBA的更复杂的解决方案,但不是必需的。