web-dev-qa-db-ja.com

自己結合でインデックスビューを作成する

私が使う SQL Server 2008 R2Indexed View自己結合できません。

IDParentID列を持つツリーテーブルがあり、このテーブルにインデックス付きビューを作成して、各レコードと親レコードを自己結合する必要があります。このビューで自己結合をシミュレートできますか?

[〜#〜]編集[〜#〜]

私のテーブル構造は:

 SAM.Detail (DetailID Int, ParentDetailID Int, Quantity Int, ...)

そして私のクエリは:

 Select A.DetailID,
       A.Quantity - SUM(B.Quantity) as RemainQuantity,
       COUNT_BIG(*) as CountBig
From SAM.Detail A
inner join SAM.Detail B ON B.ParentDetailID = A.DetailID
Group By A.DetailID, A.Quantity
6

クエリを高速化することだけが必要な場合は、次のインデックス付きビューを作成できます。

Select ParentDetailID ,
       SUM(Quantity) as RemainQuantity,
       COUNT_BIG(*) as CountBig
From SAM.Detail 
Group By ParentDetailID 

これを詳細テーブルに結合すると、クエリの実行が速くなる可能性があります。

1
A-K