0

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 テーブルに内部結合があります。内部結合の実行には、パフォーマンスに余分なコストがかかります。

4

2 に答える 2

1

基本的に、SQL Server から返されるデータには追加の列が含まれているため、2 番目のクエリは少し遅くなります。どちらの場合も発生INNER JOINします。

于 2013-11-06T10:52:52.540 に答える