gpt4 book ai didi

sql-server - SQL Server 链接服务器示例查询

转载 作者:行者123 更新时间:2023-12-01 17:04:05 24 4
gpt4 key购买 nike

在 Management Studio 中,我尝试在两个链接服务器之间运行查询/执行联接。这是使用链接数据库服务器的正确语法吗:

select foo.id 
from databaseserver1.db1.table1 foo,
databaseserver2.db1.table1 bar
where foo.name=bar.name

基本上,您是否只需在 db.table 前面加上数据库服务器名称?

最佳答案

格式可能应该是:

<server>.<database>.<schema>.<table>

例如:数据库服务器1.db1.dbo.table1

<小时/>

更新:我知道这是一个老问题,我的答案是正确的;然而,我认为任何其他偶然发现这一点的人都应该知道一些事情。

也就是说,在连接情况下查询链接服务器时,链接服务器中的整个可能会按顺序下载到正在执行查询的服务器进行连接操作。在OP的情况下,来自DB1table1和来自DB2table1都将全部传输到服务器执行查询,大概名为DB3

如果您有大型表,这可能会导致操作需要很长时间才能执行。毕竟它现在受到网络流量速度的限制,网络流量速度比内存甚至磁盘传输速度慢几个数量级。

如果可能,请对远程服务器执行单个查询,而不加入本地表,以将所需的数据提取到临时表中。然后查询一下。

如果这是不可能的,那么您需要查看导致 SQL Server 必须在本地加载整个表的各种因素。例如使用 GETDATE() 甚至某些连接。其他性能 killer 包括不给予适当的权利。

参见http://thomaslarock.com/2013/05/top-3-performance-killers-for-linked-server-queries/了解更多信息。

关于sql-server - SQL Server 链接服务器示例查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4091960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com