如何从本地数据库中查找具有大量子句的远程数据库

时间:2012-11-14 23:19:41

标签: sql-server database oracle

我正在使用从远程数据库(remotedb,Oracle)提取的数据填充本地数据库(localdb,SQL Server)中的表。

远程数据库跨越互联网,当然,本地数据库是我的数据库服务器的本地数据库。

我需要从remotedb中提取数据,并且为了从remotedb中提取数据,我只需要从特定键值中提取数据(例如,在remotedb上的表上的user_id字段)。

钥匙组很大,约。 10,000。

哦,顺便说一句,remotedb是只读访问权限,我无权访问imp / exp或批处理或访问服务器(它与外部供应商有关)。

目前,我正在使用这样的查询:

SELECT
   <my data>
FROM
   <remotedb>.<remote_table> join <remotedb>.<remote_table> ...
WHERE
   <remotedb>.<remote_table>.<remote_field> in
   ( <select that returns my 20,000 IDs> )

这对我来说似乎是一种蛮力的解决方案,但我想不出有任何其他方法可以做到这一点。

有没有人解决了这个问题?

1 个答案:

答案 0 :(得分:1)

如果我正确地阅读了您的陈述,我们在过去的公司遇到了类似的问题,并且它创造了性能损失。除非供应商可以事先为您提取所有信息并且您执行查询,否则我看不到其他方法。