访问查询运行缓慢

时间:2010-10-19 13:08:13

标签: sql-server-2008 ms-access ms-access-2007

我在Access 2007(Access 2000文件)中有一个带有后端的应用程序,后端在SQL Server 2008上。该应用程序已经运行了两年了,我注意到在某些PC上,查询将永远存在在其他人运行时它运行得非常快。每台PC都有自己的Access文件,因此它们不共享该文件。

只使用一个表的简单查询需要很长时间才能运行。最大的表有578,000条记录。

有时加载一个只有6条记录的简单表需要10秒钟。我们在一个千兆网络上。

5 个答案:

答案 0 :(得分:1)

永远运行的电脑是否比快速的电脑拥有更少的内存?

还要检查客户端上ODBC驱动程序的版本。

答案 1 :(得分:1)

SET EXPLAIN ON ...查看查询中涉及的开销。

尝试重新构建索引并使用群集来适当地按客户ID或应用所需的任何列对行进行分组。如果这没有帮助,那么问题可能是SQL'08比'05有更多的开销,你可能需要增加内存或更多的CPU能力。

答案 2 :(得分:0)

这可能是由于用户使用SQL Server上的表加入本地表而引起的。

将本地表与SQL Server表连接会强制访问检索整个SQL Server表并在本地计算机上执行连接。

我们过去曾遇到类似的问题

答案 3 :(得分:0)

尝试更新SQl服务器上的统计信息。

答案 4 :(得分:0)

我已删除Access中的链接表并再次添加它们。这似乎大大改善了查询时间。

哪种驱动程序最适合连接到SQL Server 2008:SQL Server Native Client 10.0 v.2007.100.2531.00或SQL Server v.2000.85.1132.00

我使用的ODBC驱动程序连接是SQL Server Microsoft SQL Server ODBC驱动程序版本03.85.1132