我想在最短時間內將 20k xml 文件數據獲取到我的數據庫中,當前時間大約需要 60-80 小時來處理所有文件,有什么辦法可以在更短的時間內完成嗎?在上面的代碼中,我一一從 xml 文件中獲取詳細信息,并將詳細信息發送到我的數據庫。建議我以最快的方式保存數據的更好方法。提前致謝
2 回答

慕碼人2483693
TA貢獻1860條經驗 獲得超9個贊
首先是減少執行的查詢數量。- 執行 1 個 select 語句來檢索多個信息并將其存儲在一個變量中,而不是執行 1000 個小查詢。但是,這會增加消耗的內存。- 使用批次插入數據。而不是 1000 次插入,只執行一次。通過做一些測試為您的批次找到合適的尺寸。檢查一個簡單的插入、一個 100 行、200 行等的插入需要多少時間。

喵喔喔
TA貢獻1735條經驗 獲得超5個贊
20K 大小的文件說 500Kb = 10Gb;本能地,很難理解為什么最多需要一個多小時。
不幸的是,我不知道 codeigniter,也無法理解您的代碼邏輯,但是如果您準備考慮一種完全不同的方法來從 XML 加載 SQL 數據庫,請考慮在 Saxon XSLT 處理器中使用 SQL 擴展:http://www.saxonica.com/documentation/index.html#!functions/sql
話雖如此,您的結果與預期如此不符,以至于幾乎可以肯定有一種方法可以利用您現有的技術獲得更好的性能,我只是無法告訴您它是什么。
- 2 回答
- 0 關注
- 103 瀏覽
添加回答
舉報
0/150
提交
取消