將大型資料集快速批次匯入 MySQL

將大型資料集快速批次匯入 MySQL

我有一個相當大的資料集,需要匯入到 MySQL 中。我希望盡可能有效率地執行此操作,因為我需要重複執行此操作。這有什麼技巧嗎?有沒有比擴充 INSERT 語句更有效的方法?

為了解決評論中的問題,原始格式是 XML,儘管我已經有一個轉換器將其轉換為 CSV 格式。我正在使用 MySQL 5.1.x,目標資料庫是 InnoDB。數據之間存在關係,但我沒有任何約束,在大多數情況下數據不夠乾淨,無法強加它們。

答案1

嘗試mysql導入您可以直接從 CSV 檔案匯入。

答案2

我會讀mysql手冊,我正在考慮 INSERT AFTER ,但是 LOAD DATA INFILE 看起來很有趣“快了 20 倍”....

答案3

有一個開源的 ETL 工具,叫做Pentaho 資料集成具有 mysql 批次載入選項(在設計檢視中的實驗資料夾下)。您也可以使用 CSV 輸入和表輸出步驟以與平台無關的方式快速載入資料。如果您需要在載入資料之前對資料進行任何處理,您可以在此程式中對該邏輯進行編碼。

答案4

即使是批量“插入...”也不應該花費太長時間。我匯出了 200MB 的新 JIRA 資料庫,並在大約 30 秒內載入到原始資料庫中。

相關內容