您的位置: 主页 > 编程开发 > MYSQL > 优化程序提高FoxPro数据库运行效率一例

优化程序提高FoxPro数据库运行效率一例
时间:11-08-06 来源:[标签:来源] 作者:admin 阅览:

例如,有些数据的修改是有规律地成批运行的,如果不从软件上精心设计,可能要花费好长时间。

如:在笔者自己编制的数据库中,有一个字段为“质量原因”分别用001,002,003表示,它对应的就是设计,制造,焊接,现需要把各原因分别替换到数据库中,有下列几种截然不同的实现方法:

方法一:

use dm.dbf &&原因字段名zs,代码字段名bh

rcpl all zs with 设计 for bh=001

rcpl all zs with 制造 for bh=002

rcpl all zs with 焊接 for bh=003

在这方法中,发生频率高的应放在前面,以减少比较次数,提高运行速度。上述方法一虽然是扫描全库多遍,但分类情况较复杂。

方法二:

use dm.dbf

repl all zs with iif(bh=001,设计,iif(bh=002,制造,iif(bh=003,焊接)))

合理而又巧妙地使用iif()函数,使程序简洁精炼,提高if...else...endif结构的效率。

方法三:

DIMENSION MONEY(003)

money(001)=设计

money(002)=制造

money(003)=焊接

use dm

repl all zs with money(bh)

方法三运行效率比方法二更高。方法二要调用iif()函数进行判断,方法三用一个数组问题就全解决。

笔者曾对一个有二万条记录的数据库用上述三种方法在486机器上运行试验,结果如下:

方法一:50秒

方法二:21秒

方法三:19秒

因此,从软件上提高系统的运行速度,仍是程序设计的一个十分重要的问题。


MYSQL相关
关于<< 优化程序提高FoxPro数据库运行效率一例 >>的评论 查看所有评论