对集合多列进行求和方法的选择

Posted 哈哈1234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对集合多列进行求和方法的选择相关的知识,希望对你有一定的参考价值。

今天接到一个任务,改进一个报表,在分页查新的报表最后一行插入一条求和数据。

要求:1.对复核条件的元组进行求和 2.求和列数为最后四列

方案1:重新组织查询条件,查询所有数据,然后对获得的数据集合进行循环遍历将后四列进行叠加。

方案2:重新组织查询条件,查询所有数据,让后利用Linq的Sum方法对每一列进行Sum,获得想要的数据。

方案3:利用fluentdata 重新封装的方法直接拼接字符串与数据库进行交互获得想要的结果.

测试:查询10000条数据

结果:方案3性能 > 方案1性能 >  方案2性能

分析: 由于方案三直接拼接出了数据库语言SQL语句直接操作数据库,相对数据的操作速度还是比较快的,而前两个方案的实质做法都是在对程序中对数据进行循环遍历,这个过程是相当消耗时间的,而他们两个的区别就在于linq在执行的时候是每次执行一个sum函数的时候都对这个集合进行一次遍历所以它的性能是最差的。

由于代码在开发机上,开发机无法直接向外输出文件这里就不做代码展示了,如果对您有帮助记得来个互动,让我知道你的存在。。。。。。。

以上是关于对集合多列进行求和方法的选择的主要内容,如果未能解决你的问题,请参考以下文章

使用多列分组,然后使用方法语法对特定列求和

GroupBy 多列作为键并对多列求和,如 sql?

Groupby对python中的多列求和并计数

如何对sql查询引用组中的多列求和

对 SQL 中多列中的行计数求和的查询

对mysql中的多列求和