Связанные серверы не позволяют запросу T-SQL использовать план параллельного выполнения? - PullRequest
0 голосов
/ 06 июля 2018

Если я напрямую соединю локальную таблицу с удаленной таблицей, используя связанный сервер [LinkedServerA], фактический план выполнения не будет параллельным.

SELECT COUNT(1)
FROM LinkedServerA.DatabaseA.dbo.ProductA A
INNER JOIN DatabaseB.dbo.ProductB B ON A.ProductID = B.ProductID
OPTION (RECOMPILE, QUERYTRACEON 8649) --Force the query run in parallelism

Но если я получу данные из удаленной таблицы и вставлю данные в локальную временную таблицу #TmpProductA, план выполнения будет параллельным.

SELECT COUNT(1)
FROM #TmpProductA A
INNER JOIN DatabaseB.dbo.ProductB B ON A.ProductID = B.ProductID
OPTION (RECOMPILE, QUERYTRACEON 8649) --Force the query run in parallelism

Мой вопрос таков: почему использование связанного сервера предотвращает параллелизм запросов? Я искал в интернете, но нет никаких официальных документов, объясняющих это поведение ясно? Кстати, я использую SQL Server 2008 R2 с пакетом обновления 3 (SP3).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...