一連のネストされたSQLビュー(3レベルの深さ)で行われた集計に基づいて情報をグラフ化するレポートWebアプリケーションがあります。最後のネストされたビューは、エンティティフレームワークコード内のストアドプロシージャから呼び出されます。これによるパフォーマンスの低下は、データの取得に苦労してタイムアウトするため、犠牲になり始めています。
SQLプロファイラーには360,000以上の読み取りとCPU@28313があります。さらに、タイムアウトせずにSQLで第3レベルのビューを開くことさえできません。
最初のビューは、いくつかのテーブルと集計からデータを収集するだけです。2つ目は、日付の違い、タイムゾーンの調整、平均など、このデータに対して計算を実行します。3つ目は、これらの計算を確定し、必要なデータの要約を示します。3番目のビューは、私が照会したビューです。
一般に、ネストされたビューを解くための良い戦略は何ですか?特に、SQLサーバーで実行する必要がある計算があり、データが特定のレベルに結合された後にのみ実行できる場合、ネストされたビューよりも優れた戦略は何ですか?
あなたが提供できるどんな助けにも感謝します!