假设我必须将数据从一台服务器导出到另一台服务器(通过链接服务器)。哪个语句会更有效率?
在源服务器中执行:
INSERT INTO [DestinationLinkedServer].[DestinationDB].[dbo].[Table]
SELECT a, b, c, ... FROM [dbo].Udf_GetExportData()
Run Code Online (Sandbox Code Playgroud)
或者在目标服务器中执行:
INSERT INTO [dbo].[Table]
SELECT a, b, c, ...
FROM OPENQUERY([OriginLinkedServer],
'SELECT a, b, c, ... FROM [OriginDB].[dbo].Udf_GetExportData()')
Run Code Online (Sandbox Code Playgroud)
哪一个会更快并且总共消耗更少的资源(源服务器和目标服务器)?两台服务器都是 SQL Server 2005。