每个请求一个查询或所有请求的一个查询?

时间:2016-06-30 19:32:51

标签: asp.net database terminology

老实说,我不知道我是否会问一些非常明显的事情,你只是看看并说:显然每个请求一个查询它会更好!

但是我们走了......

该应用程序

我们正在谈论ASP.NET MVC 4.0应用程序,如仪表板。我说它是使用Oracle数据库的小型/中型应用程序。

方案

我需要做N个查询来显示N个指标...但是我可以在内存或直接在数据库上过滤这个值..我需要这样的结果:

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

最后我的要求是:

  1. 显示所有ID类型为1
  2. 的百分比(我有一个公式)
  3. 向我显示所有ID类型为2
  4. 的百分比(我有一个公式)
  5. 显示所有ID类型为3
  6. 的百分比(我有一个公式)

    我的问题

    哪一个更好?

    1. 将我的所有数据放入ViewBag并使用JS过滤所有内容?
    2. 整合数据库信息,为每个请求执行一次查询?

1 个答案:

答案 0 :(得分:0)

在我看来:

这取决于,如果数据库查询需要更多的努力,例如查询大型数据库,那么在数据库端进行优化是最佳选择,它会减少数据库负载。

如果数据库查询很轻,那么最好将所有数据发送到客户端并过滤客户端,从而减少http请求和延迟。