首页 > 解决方案 > 通过链接服务器(非常)缓慢地将数据摄取到我的本地表中的可能原因是什么?

问题描述

我正在尝试通过以下查询下载数据以在本地 SQL 服务器中进行分析:

INSERT INTO dbo.my_table
SELECT * FROM OPENQUERY (linked_server, ‘SELECT * FROM remote_table’)

数据下载需要很长时间,我对此感到惊讶。对具有 c 的表的相同模式/数据库的类似查询。1000 万条记录大约需要 10 分钟。但是,尽管查询运行了 2 个小时,但我对 remote_table 没有运气!

谁能提出一些可能导致性能缓慢的原因以及我可以做些什么来加快速度?

谢谢!

标签: sql-serversql-insertlinked-server

解决方案


确保您在 Oracle 连接中使用较大的 Fetch_Size,如果这不能解决问题,请在 SqlDeveloper 或类似工具中进行测试。参见例如

exec sp_addlinkedserver N'MyOracle', 'Oracle', 'ORAOLEDB.Oracle', N'//172.16.8.119/xe', N'FetchSize=2000', ''

https://docs.microsoft.com/en-us/archive/blogs/dbrowne/creating-a-linked-server-for-oracle-in-64bit-sql-server


推荐阅读