-2
我有一個程序(EOD批處理),它處理每日累計的會計職位並更新UPDT表。優化代碼以提高程序的性能
該程序是這樣的。
- 查詢獲取來自各個表的結果作爲加盟等的結果,並存儲在
tempfile.txt
- 記錄的記錄逐個讀取從tempfile.txt和一些一系列的計算情況發生。
- 對於每個被讀取的記錄;在計算完成後,我們調用
update_UPDT()
方法,將計算值提交給數據庫中的UPDT表。
注意:我想提高程序的性能。
請提出一個更好的方法。 我有幾個計劃。
- 使用Xml而不是tempfile。 Xml會更輕。
- 而不是每個記錄逐一寫入數據庫,寫入某個臨時表或稱爲XML,然後一旦對所有記錄完成整個計算集合,就向數據庫執行批量發佈。
其他建議?
或者使用數組會更好?
@感謝Bizclop。首先會測量熱點來找到改進的地方。 – user3346282
我測量了性能,看起來updateUPDT()方法命中將近12000次。因此每個12000條記錄都被逐一更新,這似乎是一個瓶頸。現在,我不是一個接一個寫所有的記錄,而是將它們寫入「BULKXML」。一旦所有記錄被插入到大容量xml中,我必須將其更新到我想通過存儲過程實現的UPDT表中。請幫我存儲過程。我是否需要在storedproc中編寫更新語句,或者是否應該使用存儲過程中的連接來更新xml值中的表值。 – user3346282