程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 優化程序提高FoxPro數據庫運行效率一例

優化程序提高FoxPro數據庫運行效率一例

編輯:關於MYSQL數據庫

例如,有些數據的修改是有規律地成批運行的,如果不從軟件上精心設計,可能要花費好長時間。

如:在筆者自己編制的數據庫中,有一個字段為“質量原因”分別用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秒

因此,從軟件上提高系統的運行速度,仍是程序設計的一個十分重要的問題。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved