2016-06-30 6 views
1

私は正直なところ、私が何かを非常に明白に尋ねているかどうかわかりません。ただ見て、言うだけです。各要求ごとに1つのクエリまたはすべての要求に対して1つのクエリ?

しかし、ここで私達は行く...

私たちは、ダッシュボードのように、ASP.NET MVC 4.0アプリの話をしているアプリケーション

。私はそれが小/中規模のアプリケーション、Oracleデータベースを使用していると思います。

ID   Value   Type 

1   25560.00  1 
2   2330.00  1 
3   140.00  2 
4   10.00   1 
5   50.00   3 
6   40.00   3 
7   33.00   1 
:私はこのような結果を必要とする..私はNの指標を表示するには、N個のquerysを行う必要があります...しかし、私はメモリ上または直接データベース上でこの値をフィルタリングすることができ

シナリオ

最後に

私の要求は次のように次のようになります。

  1. 私= 1
  2. を入力しているすべてのIDの割合を(私はそのための式を持っている)を表示
  3. は私= 2
  4. を入力したすべてのIDの割合を(私はそのための式を持っている)表示3を=
を入力したすべてのIDのパーセント(私はそのための式を持って)私を表示します

私の質問

どれが良いですか?

  1. 私のすべてのデータを私のViewBagに入れ、JSを使ってすべてをフィルタリングしますか?
  2. データベースごとに情報を集約し、リクエストごとに1つのクエリを実行しますか?私の意見では
+0

私は通常、バックエンド(DB)のビューをサブビューで作成し、その結果をクライアント側に送信します。しかし、それは古い学校です(データの転送やクライアントのメモリ/処理が高価だった頃から)。 – majodi

答えて

0

:データベースのクエリは多くの労力を必要とする場合

それは、その後、大規模なデータベースを照会データベース側で最適化するために、例えば、依存し、それはデータベースの負荷を軽減、最適なオプションです。

データベースクエリが軽い場合は、すべてのデータをクライアントおよびフィルタクライアント側に送信し、http要求と遅延を減らす方がよいでしょう。

関連する問題