【问题标题】:Where does an Access query run using linked tables?Access 查询在哪里使用链接表运行?
【发布时间】:2017-03-27 23:30:05
【问题描述】:

我在我的 PC 上使用 MS Access 2010,从我们的云端服务器链接 MS SQL 表。 当我在我的 PC 上运行我在 Access 上编写的涉及行列表的查询时,该查询是通过连接从 SQL 服务器检索数据,还是在我的 PC 上本地有一个已兑现的数据被使用?

简单的问题是:如果在 Access 中使用链接表,查询这些表是在使用 Access 数据库的本地还是在服务器上运行的?

【问题讨论】:

    标签: sql-server ms-access


    【解决方案1】:

    查询将使用普通查询和链接表在本地运行。这意味着 Access 将需要从链接表中提取所有数据并在本地过滤行。如果您的 WHERE 子句只返回一小部分行,这可能对性能非常不利。

    另一种方法是使用pass through queries 在服务器上执行查询。这意味着只有您需要的数据会通过网络传递,并且性能会更好。

    【讨论】:

    • 这并不完全正确。如果要求 Access 从正确索引的表中获取一定数量的数据并且查询使用索引,则仅提取所需的数据。我已经使用 SQL Server 和 MS Access 工作了很长时间,我可以从云中获得相当不错的速度。
    • @John Wu 相反,我的目标是使用访问权限来使用本地资源,而不是运行消耗 SQL 云服务器的查询。这就是为什么我不想使用传递查询。我在考虑使用链接表哪个更好,或者我应该使用导入表并不断更新。然后,在使用链接表的情况下,我可以创建更简单的解决方案供用户使用,这将为更大的业务用途提供更多安全服务器资源。
    • @Fionnuala 总的来说,您可能是对的,但根据我的经验,Access 似乎坚持在提交 WHERE 限制查询之前下载所有主键值以获取它想要的值。由于有几千行,这意味着每次打开此特定表单以显示一条记录时都不必要地下载兆字节的主键值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 2016-02-09
    • 2012-05-29
    • 2015-12-18
    • 1970-01-01
    相关资源
    最近更新 更多