2
我在Nodejs中创建了一个应用程序,每分钟调用一个端点并获取一个具有大约100000个元素的json数组。我需要将这些元素插入到我的数据库中,以便如果元素不存在,则将列“Point”值设置为0来插入它。快速更新大量数据
到目前为止,我正在进行cron作业和简单的upsert查询。但它太慢了:
var q = async.queue(function (data, done) {
db.query('INSERT INTO stat(`user`, `user2`, `point`) '+data.values+' ON DUPLICATE KEY UPDATE point=point+ 10',function (err, result) {
if (err) throw err;
});
},100000);
//Cron job here Every 1 minute execute the lines below:
var values='' ;
for (var v=0;v<stats.length;v++) {
values = '("JACK","' + stats[v] + '", 0)';
q.push({values: values});
}
我该如何在很短的时间内完成这样的任务。是使用mysql一个错误的决定?我接受任何其他架构或解决方案。请注意,我必须每分钟都做一次。