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的脚本部分。 –