1

C#Webアプリケーションでグラフ化するための統計データを生成するSQLServerストアプロセスがいくつかあります。

現在、Webアプリのユーザーは、更新されたデータを含むこれらのグラフを表示するために約5分待つ必要があります。これは、ユーザーと私にとって首の痛みです。

一部のStoreプロシージャは、データの生成に5分以上かかりますが、Webユーザーはその場で情報を表示する必要はありません。たぶん2〜3時間ごとにチャートを更新します。

したがって、これを解決するためのベストプラクティスはわかりません。

2〜3時間ごとにSPを呼び出して、データを別のテーブルに格納するWindowsサービスを作成することを考えていました。

これに対処する方法についての手がかりはありますか?

ヘルプに感謝します

4

2 に答える 2

0

コメントで述べたように、インデックス付きビュー (マテリアライズド ビューのようなもの) は、一時テーブルなどを作成しなくても、特定の一般的なクエリのパフォーマンスを向上させることができます。

インデックス付きビューの利点はパフォーマンスであり、余分なコーディングや労力を必要としないことです。一時テーブルではなくインデックス付きビューを作成すると、クエリ ナビゲーターは、エンド ユーザーが一時テーブルまたは集計テーブルを指定する必要なく、このビューを利用するタイミングを認識します (すべきです) 。

インデックス付きビューの利点とその実装方法の例は、 http://msdn.microsoft.com/en-us/library/dd171921( v=sql.100 ).aspx にあります。

于 2013-02-25T20:38:54.000 に答える
0

インデックス付きビューへのリンクを次に示します。コメントが言ったように、ビューを使用すると、ストアド プロシージャを使用するたびに常に選択を行うのではなく、情報をすばやく取得できます。ビューに関する非常に優れた説明については、2 番目のリンクを参照してください。

MSDN http://msdn.microsoft.com/en-ca/library/ms187864%28v=sql.105%29.aspx

ここで非常によく説明されてい ます http://www.codeproject.com/Articles/199058/SQL-Server-Indexed-Views-Speed-Up-Your-Select-Quer

于 2013-02-25T20:38:21.080 に答える