数据处理很慢 求高手优化代码
代码如下:
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
会提高速度的。