读书人

数据处理很慢 求高手优化代码解决办法

发布时间: 2012-03-13 11:21:11 作者: rapoo

数据处理很慢 求高手优化代码
代码如下:
sele 1
use t:\foxprow\tnkm\2009\hgr09 excl

sele 2
use t:\foxprow\tnkm\2009\hgo09 excl

sele 3
use t:\Foxprow\TNKM\HGRCCL\hgna excl

public tmpcla,tmpnu,tmpno,tmpcost1,tmpcost2

sele 2
go top
do while !eof()
tmpnu=nu
sele 3
locate for nu=tmpnu
if !eof()
tmpcla=cla
sele 2
replace rcost with wt*cost,cla with tmpcla
endif
sele 2
skip
enddo


处理的数据大概有1W条左右,可是要运行差不多20分钟才能完成,是不是while,if循环用的地方不对呢?
各位大大帮忙优化下,不胜感激!

[解决办法]
过多的 sele 切换了。如果版本可以,建议直接用 SQL 语句 update ...
[解决办法]
是,但与UPDATE SQL相比,还是慢,建议升级9
[解决办法]

Scan ... Endscan

替换

do while ... Enddo

会提高速度的。

读书人网 >VFP

热点推荐