SQL Server Linked Server 的性能

昨天架构师建议我将一个对远程 db server 的查询修改为先配置一个 Linked Server,然后查询。这样做的目的是可以在本地把 SQL 写到一个存储过程里面,程序调用方便一点(因为不具有远程数据库的管理权限)。但是我实践了一下后,发现这样修改后性能超慢!甚至根本查不出来。后来网上搜了一下,对 Linked Server 的查询,很多情况下是需要把大量数据发送到本地来处理的,这样不慢才怪了。这还没有涉及到本地和远程表做 join 的情况,就已经吃不消了。所以对 Linked Server 的操作一定要当心,要有明确的概念哪些数据会在远端被执行?哪些要在网络中发送大量数据的?如果需要得到的是 Count, Sum 等聚合信息,那么尽量不要用这个办法。另外 OpenQuery 函数可以指定在远端处理结果后返回,而不是在本地处理。这个还没有实验,先在这里记录一下。

参考:

http://www.sql-server-performance.com/tips/linked_server_p1.aspx

http://stackoverflow.com/questions/132305/linked-server-performance-and-options

作者:木野狐@博客园

转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值