在不同的服务器上链接的表连接时的MS Access的表现呢?
-
20-08-2019 - |
题
如果我有链接表MS Access数据库从两个不同的数据库服务器(比如从SQL Server数据库和一个从Oracle分贝一个表)和I写它连接这两个表,如何将访问一个查询(或Jet引擎,我猜?)处理此查询?它会发出对每个表的SELECT一些第一个拿到我加入的领域,figurre出哪些行匹配,则发行更多的选择用于这些行?
解决方案
要理解的关键是这样的:
你是在问一个问题,它发送其请求到两个服务器数据库之前访问/喷气可以优化?如果要加入两个表的整体,射流也将不得不要求这两个表,这将是难看。
如果,在另一方面,可以提供一个限制条件或的加入,访问/射流可更高效双方并请求过滤结果集,而不是完整表。
其他提示
是的,你可以有一些严重的性能问题。我做这种类型的事情好几年了。甲骨文,SQL和DB2 - 唉。有时我不得不在凌晨5:00将其设置一个计时器,所以当我在7:00它做进去。
如果您的数据集是不够显著,它往往是更快地在本地建一个表,然后链接数据。对于远程数据集,也考虑快速导入。
举例来说,假设你是拉昨天所有的客户从Oracle数据库和所有客户的购买从SQL数据库中。比方说,你有一个平均每天100名顾客,但30000列表,并让说你的产品有50万的列表。你可以查询Oracle数据库为您的100个客户的名单,然后把它写在IN
声明直通查询的SQL数据库。你会得到你的数据几乎瞬间。
或者,如果你的记录是巨大的,建立两个ID的本地表,本地对它们进行比较,然后就拉了必要的比赛。
这是丑陋的,但你可以从字面上节省自己的时间。
这是我的猜测。它帮助,如果有对的加入,但双方指标,既不服务器在查询完全控制,进一步的查询优化是不可能的。
我有来自两个不同的数据系统连接表没有实践经验。不过,根据要求,等等,等等,你可以更快地发现它与只要求到Access表中的记录和字段运行SELECT查询和做访问最终加入和查询。