首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过ODBC连接MS SQL表的MS Access中非常慢的查询

问通过ODBC连接MS SQL表的MS Access中非常慢的查询
EN

Stack Overflow用户
提问于 2019-08-29 16:02:26
回答 1查看 1.6K关注 0票数 2

当我想使用带有MSSQL链接表(通过ODBC)的Access前端应用程序时,最好的解决方案是什么?

对我来说,这方面的困难在于,我必须使用具有多个联接(以及从查询中调用的函数)的复杂查询。由于两个DB之间的连接非常慢(有些表中有很多数据,2GB的访问mdb限制是MSSQL升级的原因)。

传递查询没有帮助,因为已连接的访问表。.=‘5’>.在Server中,它仍然很慢。我尝试使用MSSQL中的WHERE子句连接ODBC视图,但它似乎与整个表一样慢。

我必须将所有已连接的访问表移动到MSSQL,并将所有查询转换为传递?还有别的解决办法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-08-29 22:00:56

我必须将所有已连接的访问表移动到MSSQL DB。

是的,当然。

并将所有查询转换为传递?

不一定,只有那些还很慢的。

“普通”内部连接查询(仅使用来自一个服务器数据库的链接表)由Access和ODBC驱动程序以在服务器上处理所有内容的方式处理。它们应该与在服务器上运行时(或者作为传递查询)一样快(或多或少)。

只有“复杂”查询,特别是涉及多个内部和外部连接的查询,才不会这样工作。您会注意到,在链接表上运行时,它们仍然非常慢。这些需要更改为传递查询。

编辑:我刚注意到

从查询调用的函数

您不能从PT查询中调用VBA函数,当从运行在链接MSSQL表上的Access查询调用VBA函数时,它们将再次破坏性能(因为它们必须在本地处理)。

您需要学习如何在MSSQL中创建视图,可能还需要用户定义函数和/或存储过程。

从长远来看,您会发现视图实际上比PT查询更容易管理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57713965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档