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一個錯誤的決定?我接受任何其他架構或解決方案。請注意,我必須每分鐘都做一次。