小编Fra*_*ier的帖子

SQL Server中链接服务器上同义词的性能影响

在localserver(SQL Server 2008 R2)上,我有一个名为syn_view1指向链接服务器的同义词remoteserver.remotedb.dbo.view1

此SLOW查询需要20秒才能运行.

select e.column1, e.column2
from syn_view1 e
where e.column3 = 'xxx'
  and e.column4 = 'yyy'
order by e.column1
Run Code Online (Sandbox Code Playgroud)

此FAST查询需要1秒才能运行.

select e.column1, e.column2
from remoteserver.remotedb.dbo.view1 e
where e.column3 = 'xxx'
  and e.column4 = 'yyy'
order by e.column1
Run Code Online (Sandbox Code Playgroud)

两个查询的唯一区别实际上是同义词的存在.显然,同义词会影响查询的性能.

SLOW查询的执行计划是:

Plan                Cost %  Subtree cost
4 SELECT
I/O cost: 0.000000  CPU cost: 0.000000  Executes: 0  
Cost: 0.000000                  0.00    3.3521
    3 Filter
    I/O cost: 0.000000  CPU cost: 0.008800  Executes: 1  
    Cost: 0.008800 …
Run Code Online (Sandbox Code Playgroud)

sql-server performance linked-server synonym sql-server-2008-r2

11
推荐指数
1
解决办法
6584
查看次数