Asp.net 从数据库中提取所有数据,然后计算统计数据?

Asp.net 从数据库中提取所有数据,然后计算统计数据?,asp.net,Asp.net,我在一家汽车贸易网站上工作。在显示广告列表的页面上,我计划显示不同类别的广告数量:例如,位置:我将显示类似“温哥华(50)、里士满(12)、萨里(20)”的内容。对于车辆制造,以下将显示“本田(20)、福特(12)、大众(24)” 我不确定是否应该首先将db中的所有广告拉入列表,将结果的一页绑定到gridview控件,然后使用Linq计算每个类别的统计数据。当然,如果我将使用某种条件限制从db中提取的行数,那么可以将要返回的最大行数设置为500 我主要关心的是-这会占用内存吗?在内存中计算行是个

我在一家汽车贸易网站上工作。在显示广告列表的页面上,我计划显示不同类别的广告数量:例如,位置:我将显示类似“温哥华(50)、里士满(12)、萨里(20)”的内容。对于车辆制造,以下将显示“本田(20)、福特(12)、大众(24)”

我不确定是否应该首先将db中的所有广告拉入列表,将结果的一页绑定到gridview控件,然后使用Linq计算每个类别的统计数据。当然,如果我将使用某种条件限制从db中提取的行数,那么可以将要返回的最大行数设置为500


我主要关心的是-这会占用内存吗?

在内存中计算行是个坏主意。使用

SELECT COUNT() FROM... [ GROUP BY ]
这样更有效


还要检查缓存这些值的可能性。假设有多人同时加载您的页面,但车辆计数不会比每1分钟更改一次更快-在1分钟内对过时的值应用缓存策略。

考虑到OP使用的语言,我认为您应该提供完整的ish SQL查询,而不是伪代码。如果我需要对多个组进行计数,该怎么办(位置、品牌等)发布多个选择不会有问题吗?我最关心的是性能。谢谢你的回答!@sean717-我们对类似问题进行了一些测量,实际执行多个查询(位置、品牌,在你的情况下)比将所有记录提取到客户端并计数要高效得多。而且不要忘记缓存这些结果。