Sql Server 2016 で、単純な親子関係を要約するインデックス付きビュー (または同等のもの) を作成することは可能ですか?
例えば:
Parent: Vehicles
Children: Parts (the parts that make up the car)
Children: Workers (the people who helped build the car)
そして、このような結果..例:
Car | Parts | Workers
Car_A | 1111 | 4
Car_B | 123412 | 54
Car_C | 0 | 0
これを SQL クエリとして記述した場合は、次のようになります (これはインデックスが作成されておらず、回答全体を「計算」する必要があると想定しています)。
SELECT a.CarId
FROM Cars a
LEFT OUTER JOIN Parts b ON a.CarId = b.CarId
LEFT OUTER JOIN Workers c ON a.CarId = b.CarId
「INDEXED」ビューを求めている理由は、計算がディスクに保存されていると想定しているため、結果を計算するのではなく、インデックスをスキャンして結果を取得するだけでよいからです。実行。
上記の例も悔やまれます(この質問の場合)。実際には、より大きなテーブル構造などがあります。
インデックス付きビューに特定のキーワードを含めることができないことは理解しています( @brentozar がブログ投稿でCOUNT
述べたように) 。
私はこの問題を間違った方法で見ていますか? ここでは、SQL キャッシングについてはあまり回答したくありません。
(注: 多分私は別の NoSql db で多くの Map/Reduce クエリを実行してきました:))