我正在使用从远程数据库(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> )
这对我来说似乎是一种蛮力的解决方案,但我想不出有任何其他方法可以做到这一点。
有没有人解决了这个问题?
答案 0 :(得分:1)
如果我正确地阅读了您的陈述,我们在过去的公司遇到了类似的问题,并且它创造了性能损失。除非供应商可以事先为您提取所有信息并且您执行查询,否则我看不到其他方法。