gpt4 book ai didi

mysql - Node MySQL 以最快的速度执行多个查询

转载 作者:可可西里 更新时间:2023-11-01 08:09:52 24 4
gpt4 key购买 nike

最快的方法是获取到MYSQL的查询,然后返回输出:

console.log('queries finished', results)"

还有更好的方法吗?请解释你的答案!

谢谢!

方法一:

var connection = mysql.createConnection({multipleStatements: true});

connection.query('SELECT ?; SELECT ?', [1, 2], function(err, results) {
if (err) throw err;

console.log('queries done', results);
});

方法二:

const Db = mysql.createPool({
connectionLimit: 7,
dateStrings: true,
multipleStatements: true
});

Db.getConnection(function(err, connection) {
if(err) console.log(err);

connection.query(`
SELECT "1" AS "first";
SELECT "2" AS "second";`, function(err, results) {
connection.release();

if(err) console.log(err);
console.log('queries done', results);
}

);

});

方法三:

const Db = mysql.createPool({
connectionLimit: 7,
dateStrings: true,
multipleStatements: true
});

Db.getConnection(function(err, connection) {
async.parallel([
function(callback) {
connection.query(`
SELECT "1" AS "first"`, function(err, done) {
callback(err, done);
}
);
},

function(callback) {
connection.query(`
SELECT "2" AS "second"`, function(err, done) {
callback(err, done);
}
);
}
], function(err, results) {
connection.release();
if(err) console.log(err);

console.log('queries finished', results);
});
});

方法四:

const Db = mysql.createPool({
connectionLimit: 7,
dateStrings: true,
multipleStatements: true
});

async.parallel([
function(callback) {
Db.getConnection(function(err, connection) {
connection.query(`
SELECT "1" AS "first"`, function(err, done) {
connection.release();
callback(err, done);
}
);
});
},
function(callback) {
Db.getConnection(function(err, connection) {
connection.query(`
SELECT "2" AS "second"`, function(err, done) {
connection.release();
callback(err, done);
}
);
});
}
], function(err, results) {
if(err) console.log(err);
console.log('queries finished', results);
});

我没有发布它,但是方法 3 和 4 也可以在没有连接池的情况下完成。还有关于使用 npm 模块异步的 promise ,什么是最快的,为什么!?谢谢。

最佳答案

在我的应用程序中使用 3 个真实查询的上述四个选项中,每个查询都需要大约 1-3 秒的时间来执行,对于任何感兴趣的人来说,方法 3 最终是最快的。

方法 1 和方法 2 慢了整整 1/2 秒,而方法 4 只是稍微慢了一点点。

编辑:我通过使用上面评论中的 console.time('query') 建议完成了这些基准测试。

关于mysql - Node MySQL 以最快的速度执行多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41513128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com