次のようなテーブルを含むスキーマがあります (疑似スキーマ):
TABLE ItemCollection {
ItemCollectionId
...etc...
}
TABLE Item {
ItemId,
ItemCollectionId,
ContributorId
}
ItemCollectionId ごとに個別の貢献者の数を集計する必要があります。これは、次のようなクエリで可能です。
SELECT ItemCollectionId, COUNT(DISTINCT ContributorId) FROM Item
GROUP BY ItemCollectionId
さらに、インデックス付き (マテリアライズド) ビューを使用して、この集計を事前に計算したいと考えています。DISTINCT は、このビューにインデックスが配置されるのを防ぎます。SQL Server のインデックス付きビューの制約に違反しない、これを再定式化する方法はありますか?