从不同服务器中的链接表进行联接时,MS Access的性能如何? [英] Performance of MS Access when JOINing from linked tables in different servers?

查看:108
本文介绍了从不同服务器中的链接表进行联接时,MS Access的性能如何?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有一个MS Access数据库,其中包含来自两个不同数据库服务器的链接表(例如来自SQL Server数据库的一个表和来自Oracle数据库的一个表),并且我编写了一个查询,该查询将这两个表联接在一起,Access将会如何(或我猜是Jet引擎吗?)处理此查询?它会首先在每个表上发出一些SELECT,以获取我要加入的字段,弄清楚哪些行匹配,然后为这些行发出更多的SELECT吗?

If I have an MS Access database with linked tables from two different database servers (say one table from an SQL Server db and one from an Oracle db) and I write a query which JOINs those two tables, how will Access (or the Jet engine, I guess?) handle this query? Will it issue some SELECTs on each table first to get the fields I'm JOINing on, figurre out which rows match, then issue more SELECTs for those rows?

推荐答案

要理解的关键是:

您是否在询问Access/Jet在将其请求发送到两个服务器数据库之前可以进行优化的问题?如果要同时加入两个表的全部内容,Jet将不得不请求两个表,这很丑陋.

Are you asking a question that Access/Jet can optimize before it sends its request to the two server databases? If you're joining the entirety of both tables, Jet will have to request both tables, which would be ugly.

另一方面,如果您可以提供限制连接的一侧或两侧的条件,则Access/Jet可能会更高效,并请求过滤后的结果集而不是整个表.

If, on the other hand, you can provide criteria that limit one or both sides of the join, Access/Jet can be more efficient and request the filtered resultset instead of the full table.

这篇关于从不同服务器中的链接表进行联接时,MS Access的性能如何?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆