2
我試圖在我的腳本中使用下一個查詢在節點js中寫入的表中插入超過600,000行。加載數據信息緩慢執行從節點js
var sql = " LOAD DATA LOCAL INFILE '/tmp/insertFile18.csv'" +
" INTO TABLE `pricing_leasing`" +
" FIELDS TERMINATED BY ',' LINES TERMINATED BY '+-'";
問題是它永遠不會結束(我在午餐中等了1個小時),它也沒有給出錯誤。 我在bash中直接執行,速度非常快,不到一分鐘。 然後我決定在nodejs中編寫一個腳本,除了執行腳本之外,其他腳本都不會執行任何操作,並且它在2分鐘內完成,這沒關係。
我的問題是爲什麼如果我只是在bash或它自己的節點中執行查詢js腳本是否正常工作,但如果我之前有更多的事情發生(其他查詢不同表&文件操作),它變得緩慢。
UPDATE
function uploadFile() {
var deferred = GLOBAL.q.defer(),
strFileName = "/tmp/insertFile" + GLOBAL.company.id + ".csv",
cb = function (err) {
//fs.unlinkSync(strFileName);
if (err) {
console.log(err);
GLOBAL.objRstOfInsert['success'] = false;
} else {
// Update return structure with success message
GLOBAL.objRstOfInsert['success'] = true;
}
console.log("finished uploads");
deferred.resolve();
};
var lstInsertPricingColumns = '(`sourcecompany_id`,'+
'`company_id`,'+
'`price`,`active`,`row_hash`)';
var sql = " LOAD DATA LOCAL INFILE '" + strFileName + "'" +
" INTO TABLE " + GLOBAL.company.tableInsert +
" FIELDS TERMINATED BY ',' LINES TERMINATED BY '+-'"+
lstInsertPricingColumns;
GLOBAL.db['rates'].query(sql, cb);
return deferred.promise;
}
我們需要您向我們展示完整的nodejs代碼以幫助您。謝謝 –
完整的腳本是巨大的,有很多的文件,我有這個腳本中的功能,當只有電話做這個。如果我評論這個功能一切工作正常。 但有一個磨損的行爲,這取決於我執行腳本的服務器運行速度比其他服務器快。可能是任何配置文件的問題? – VicenteJHGA
那麼向我們展示執行此sql的腳本部分。 –