我正在嘗試使用 node.js 在 MySQL 資料庫中插入大量資料。我的代碼可以正確處理大約 300 個元素的小陣列,但是當我插入一個包含 1M 個元素的陣列時,出現以下錯誤:
Error: read ECONNRESET
at TCP.onStreamRead (node:internal/stream_base_commons:211:20)
at Socket.emit (node:events:379:20)
at addChunk (node:internal/streams/readable:313:12) {
errno: -4077,
code: 'ECONNRESET',
syscall: 'read',
fatal: true
}
我的查詢:
let query = "INSERT INTO transactions (customer_id, tr_date, tr_time, mcc_code, tr_type, amount, term_id) VALUES ?";
connection.query(query, [csvData], (error, response) => {
console.log(error || response);
})
uj5u.com熱心網友回復:
見這里詳細了解錯誤本身。這只是一個連接錯誤。
連接失敗的原因很可能是因為該插入很大并且可能需要很長時間才能終止。此外,由于通過網路發送的資料大小適中,因此完成整個操作所需的時間也會增加。
您的問題的解決方案是,IMO,將資料拆分為多個較小的插入(嘗試 500、1k、5k,具體取決于每行的大小)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/366130.html
標籤:javascript mysql sql 节点.js
上一篇:在變數中乘以輸入值時出錯
