2016-11-25 93 views
0

我创建了一个很多人喜欢我的组织的Access工具,但它在大客户上运行速度不够快。如何使插入速度更快?

当前,当我在计算机上运行“INSERT INTO”查询时,只需不到一分钟 - 即使是在较大的客户端上。但是,当我在同事的电脑上运行它时,运行速度会更慢 - 大约4分钟。

查询代码相当复杂,因为它在'LEFT JOIN-ed'表上运行,用SUMS,IIF语句,Nz语句汇总数据,并在6个静态表和2个查询上的LEFT JOIN上运行。

由于代码周围的机密性协议,我不能在这里发布代码,但我可以描述它。

我可以将2个查询转换为一个静态表,然后使用这些结果,但任何人都知道有任何其他方法可以更快地使INSERT INTO查询工作而不更改SQL代码?

此外,为什么MS-Access在某些计算机与其他计算机上执行'SQL INSERT-INTO'查询的速度较慢?

我试着调整虚拟内存设置并增加页面文件,但它似乎并没有对运行INSERT INTO查询的速度产生明显的影响,事实上,我想因为我的公司使用非SSD硬盘驱动器,并且不允许分区硬盘驱动器,因此运行速度较慢。

+0

试图比较'这里运行速度比在那里运行'有太多变量。你熟悉SHOWPLAN吗?这可能是一个开始的地方。你可以重新命名你的查询中的表和字段,然后发布,所以我们至少可以看到你在做什么的一些想法?确保在做SUMS之前选择最小的一组数据,等等。涉及到的任何SQL Server表? –

+0

删除表名等所有内容,并在http://codereview.stackexchange.com/上提出一个新问题。他们可能会帮助你。否则谷歌为“插入查询性能调整”。 – Blackbam

+0

此外,这里有一篇文章充满了性能提示......一旦打开,点击“查询性能提示”链接。 https://msdn.microsoft.com/zh-cn/library/dd942824(v=office.12).aspx#odc_ac2007_ta_PerformanceTipsToSpeedUpYourAccessDB_QueryPerformanceTips –

回答