Sql Server がビュー内でビューと結合を処理する方法を理解しようとしています。
みたいな見方があります。
CREATE VIEW
[dbo].[vw_Product]
AS
SELECT
Product.Id AS ProductId,
Customer.Name AS CustomerName
FROM
Product
INNER JOIN
Customer ON Customer.Id = Product.CustomerId
次の 2 つのクエリのパフォーマンスの違いは何ですか?
SELECT ProductId, CustomerName FROM vw_Product
SELECT ProductId FROM vw_Product
この質問をする理由は、最初のクエリで CustomerName が選択されるためです。ビューでは、Customer テーブルに内部結合があります。内部結合の実行には、パフォーマンスに余分なコストがかかります。