关于批量插入mysql的方法?哪个好?
发布于 8 年前 作者 NOOZN 4078 次浏览 来自 问答

目前能想到的方法有: 方法1、 先存在数组中,当数组的length大于1000时再批量插入然后删除数组前1000条。这个方法需要实时检测数组的length,是不是比较消耗性能?

var values = [
[1,2,4],
[5,1,7]
];
var sql = "INSERT INTO xxx(a,b,c) VALUES ?";
if (values.length === 1000){
	mysql.query(sql, [values], function (err, rows, fields) {
	  values.splice(0, 1000);
  });
}

方法2、现在暂存在其他内存型数据库中,再批量导入,不过这样其他内存型数据库也要消耗内存和cpu。 个人偏向方法1 就是不知道当数组变大时 消耗性能会不会很大?

1 回复

后者较好,一般redis这类带有一定程度持久化,不容易说服务挂了,数据就丢了。前者定时检测性能和删除数组上性能上是可以接受的。但不太懂sql query生成,

回到顶部