0

2つのSQLServerデータベースが別々のマシンで実行されているとしましょう。それらMachineAをとと呼びますMachineB

次のようなクエリを実行した場合

SELECT
    [Store].[Name] AS [Store Name],
    [Employee].[Name] AS [Employee Name],
    SUM([Sale].[Amount]) AS [Total Sales]
FROM [MachineA].[DatabaseA].[dbo].[Sales] AS [Sale]
INNER JOIN [MachineB].[DatabaseB].[dbo].[Employees] AS [Employee]
ON [Sale].[EmployeeId] = [Employee].[EmployeeId]
INNER JOIN [MachineB].[DatabaseB].[dbo].[Stores] AS [Store]
ON [Employee].[StoreId] = [Store].[StoreId]
GROUP BY [Store].[Name], [Employee].[Name]

クエリが実行されていると仮定した場合、MachineA実際に実行されている作業はどこですか?MachineAすべての読み取りを実行し、行をMachineBingJOINに送信しますか?それとも、ここでもっと複雑なことが起こっていますか?

4

1 に答える 1

1

クエリオプティマイザは、リンクされたサーバードライバの機能に応じて最適なプランを選択します。

于 2012-06-22T12:16:56.630 に答える