小编ced*_*ced的帖子

SQL SERVER - 链接服务器和查询性能

我有一个与 SQL Server/链接服务器/视图相关的性能问题。我希望你能帮助我理解什么是做我想做的最好的方法 =)。

  • 我有一个数据库 K,其中包含 3 个链接服务器 L1、L2、L3 到 3 个数据库 X、Y、Z。
  • 在 X、Y、Z 中,我分别有 3 个视图,称为 V1、V2、V3。
  • 我想通过数据库 K 与链接服务器 L1、L2、L3 查询 V1、V2、V3 的并集。

经过一些测试,情况是这样的:

  1. 在 SSMS 中,如果我运行这个伪查询SELECT * FROM (L1.V1 u L2.V2 u L3.V3) WHERE some filters,性能真的很棒
  2. 如果我在数据库 K 中创建一个视图 VK,其中包含三个视图的并集,然后我运行查询,SELECT * FROM VK WHERE some filters则性能比情况 1 差

问题

  • 为什么表现如此不同?
  • 在情况 2 中如何提高性能?

我对提高案例 2 的性能很感兴趣,因为我需要一个视图来在我们的软件中使用 nHbinernate 进行映射......

提前致谢,问候

约翰艾伦的帖子后更新

好的,我尝试但没有结果。我不是 DBA,我在 DB 配置方面的技能非常有限。我们可以一步一步来吗?

  1. 在远程服务器 ( called Y) 上,我called linkedserver …

performance sql-server view linked-server query-performance

7
推荐指数
1
解决办法
3万
查看次数