以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]代码运行速度慢,应如何优化?(已经解决了)  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=133461)

--  作者:1669607010
--  发布时间:2019/4/15 8:41:00
--  [求助]代码运行速度慢,应如何优化?(已经解决了)
以下第一段红色代码用于从 {原料出入库}及 {外购原料出库}汇总数据生成一个{原料月结表},原料月结表需要统计上月结存,本月入库,本月出库,及本月结存,代码需要运行25秒,太慢了,哪位老师看看是哪里影响代码执行效率,我另一段代码(第二段蓝色代码)也是生成一个汇总表,要统计的数据还比第一段代码多,代码执行速度2秒就完成了,哪位老师帮忙看看,第一段红色代码是哪里影响了执行速度啊,因为我的项目用的是SQL数据库,所以不好发例子,哪位老师指导一下,提供一下思路

问题已经解决了,原来是SQLCommand语句写到For Each语句里了,导致SQLCommand运行上百次,所以导致代码运行速度慢,谢谢那个名字为拉丁字母网友提醒!

[此贴子已经被作者于2019/4/15 9:23:40编辑过]

--  作者:1669607010
--  发布时间:2019/4/15 8:48:00
--  
代码太长,所以写在了WORD里,把.Table文件后缀改为.doc即可查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:代码.table

,哪位老师帮忙看看,谢谢!
[此贴子已经被作者于2019/4/15 8:55:31编辑过]

--  作者:有点甜
--  发布时间:2019/4/15 9:28:00
--  

每执行一次 ExecuteReader 大概耗时0.5秒,你循环那么多次、每次执行那么多这个,自然慢啊。

 

不要重复执行这种代码 ExecuteReader,请尽量先把表格数据一次性加载出来以后,再处理。


--  作者:1669607010
--  发布时间:2019/4/15 9:44:00
--  
谢谢甜老师指导,确实是您说的这样,代码修改了一下,代码2秒左右就能执行完毕了,因为月结表基本每月月底报账盘点才用一次,平时不怎么用,所以2秒已经可以了!