javascript - node-mysql 多次查询时插入速度慢

标签 javascript mysql node-mysql

我是node-mysql的新手,但我遇到了一个令人担忧的速度问题,因为它非常简单。 我正在处理相当合理的数据量(2000 个 mysql 条目),并且当我使用多个查询时,通过 connection.query() 输入数据变得非常慢。代码是这样的

var rows = xlsx.rows;
for (var i=0; i<rows.length; ++i) {
    var escaped = '';
    var values = [];
    var row = rows[i];
    escaped += 'INSERT INTO Main (name, value, enabled) VALUES ';

    var name = row['name'];
    var val = row['value'];
    var enabled = rows['enabled'];

    escaped += '(?,?,?);';
    values.push(name);
    values.push(val);
    values.push(enabled);

    connection.query(escaped, values);
}

输入所有行需要一分钟以上的时间。当我在一个查询中使用多个语句时,出现了同样的问题。我唯一能够快速且几乎立即输入所有行的情况是,如果我使用一个字符串和一个条目,即

INSERT INTO Main (name, value, enabled) VALUES (?,?,?), (?,?,?), (?,?,?)...

我是否只是以低效的方式使用查询?或者这里的查询速度是否存在实际问题?

最佳答案

正如评论中提到的,这只是插入mysql数据的一种慢速方式,使用起来要方便得多

connection.query('INSERT INTO Table (col1, col2) VALUES ?', [插入], 回调);

其中 insert 是包含多个条目值的变量

关于javascript - node-mysql 多次查询时插入速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31005049/

相关文章:

javascript - 获取 JavaScript 函数的内容

javascript - Highcharts 如何显示某些工具提示而不显示其他工具提示

javascript - 用javascript增加 float

sql - 根据计算值优化 SQL 查询?

mysql - 无法在mysql查询中实现where子句

c# - MySql - 3 个月后删除数据

mysql - Node.Js - mysql 连接没有输出

Node.js 找不到模块 'readable-stream'

javascript - PHP 的 JavaScript 模态

mysql - 使用nodejs将mysql查询从latin1转换为utf8