我對perl dbi中嵌套窗體中處理sql的性能有疑問。關於嵌套sql的Perl DBI性能
bascially,什麼腳本正在做的是
從DBI
while循環中,
使用連接到DB1
連接到DB2
獲取數據來自DB1的數據並創建更新或插入語句
從DB2在DB2中執行SQL
disconenct
斷開DB1
現在的問題是,這是最好的做法,當涉及到性能或以下的方法是最好的選擇。從DB1
獲取日期
將數據寫入到一個臨時文件
從臨時文件中獲取數據
process the data to udpate in DB2.
編輯:我添加了一些連接到DB2後連接到DB1。但那不是我想要創造的點。這更多的是關於服務器從存儲數據的數據庫服務器和磁盤讀取的I/O和系統調用的性能問題。
如果你看看第一種方法。
內部循環。 腳本從DB1 獲取一行數據,並等待在DB2中處理返回的數據。
如果有成千上萬的記錄,什麼時候你在做系統的thousnds對性能的影響服務器調用從磁盤讀取數據
連接到DB在while循環不是一個好主意。您應該在腳本的開頭連接到DB2。在這一點上,我沒有看到其他的東西在第一段代碼中有所改進。 – 2011-05-02 18:26:57