批量计算工资缓慢,哪位大神能帮忙看一下(winform)。 计算的时候已无数据库操作

计算公式的集合。人员集合、人员的公积金基数表、保险表基数、个税信息都加载都datatable中。现在计算逻辑是for(person循环){for(计算公式循环){for(... 计算公式的集合。人员集合、人员的公积金基数表、保险表基数、个税信息都加载都datatable中。
现在计算逻辑是
for(person 循环)
{
for(计算公式循环)
{
for(将计算公式中的工资项替换为datagirdview 中的ColumnNmae)循环;函数不替换//计算公式变为ColumnNmae
{

}
for(datagirdview 中的ColumnNmae替换为数值)循环、//计算公式变为数值,函数不变
{

}
if(包含保险等函数)
{
在datatable中取出这个保险信息,计算应扣保险的金额
}
计算公式全变为数值
计算公式计算法则计算(在一个类中计算返回结果)
}

}
展开
 我来答
百度网友3831f2b
2013-05-17 · TA获得超过162个赞
知道小有建树答主
回答量:143
采纳率:100%
帮助的人:93.7万
展开全部
person的数据量是多大? 
据我的经验,你得计算缓慢有以下几种情况:
1.数据量庞大, 
2.频繁的数据库读取操作
3.数据计算逻辑复杂
4,UI线程和非UI线程交互频繁.
....
追问
person的数据量为200多条,已没有数据读取操作。每次都是从datatable中读取数据
匿名用户
2013-05-17
展开全部
for循环嵌套得太多,可以考虑优化下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式