c#千万级,亿级数据访问,有什么优化办法
答案:2 悬赏:20 手机版
解决时间 2021-03-17 06:32
- 提问者网友:兔牙战士
- 2021-03-17 03:28
c#千万级,亿级数据访问,有什么优化办法
最佳答案
- 五星知识达人网友:雪起风沙痕
- 2021-03-17 04:56
所谓千万级,亿级,无非告诉你用的是大型数据库,在设计上就要考虑一些优化的方法,比如读写分开,分库,分表技术。以及应用程序的数据缓存技术等等。hibernate相关,应该指的是hibernate的原理,以及安装,以及在开发中怎么使用吧。
全部回答
- 1楼网友:渡鹤影
- 2021-03-17 06:25
给你个小建议,不能从根本上解决你的问题,不过看起来可能会好一些。
1、把你的
if (e.row.rowtype = datacontrolrowtype.datarow) then
e.row.cells(n).attributes.add("class", "text")
end if
代码移到上面的循环“for i = 0 to gvsalaryyear.rows.count - 1 '循环读取,并累加”中去,这样减少了循环次数。
2、由于循环次数较多,导致windows无法刷新界面元素,给人的感觉像是死机了。所以最好给windows留出执行其它事件的时间。
也就是在你的循环内部加入application.doevent()。最好在
gvsalaryyear.rows(i).cells(13).text = format(sum, "#,##0.00")
后面加,这样当你改变文本的内容后,画面可以得到更新。
3、减少类型转换的次数
if (not gvsalaryyear.rows(i).cells(j).text.trim() is nothing and gvsalaryyear.rows(i).cells(j).text.trim() <> " ") then
sum += convert.todouble(gvsalaryyear.rows(i).cells(j).text.trim())
end if
改为:
变量 = gvsalaryyear.rows(i).cells(j).text
if (not 变量 is nothing and string.isnullorempty(变量.trim())) then
sum += convert.todouble(变量.trim())
end if
这样也可以提高速度。
注:你的“not gvsalaryyear.rows(i).cells(j).text.trim() is nothing”代码是有问题的,如果gvsalaryyear.rows(i).cells(j).text是nothing,在执行trim()时会出现异常。
希望以上建议对你有用。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯