使用池中的单个连接运行多个查询
可能存在设置 MySQL 连接池的情况,但是你希望按顺序运行许多查询:
SELECT 1;
SELECT 2;
你可以在其他地方使用 pool.query
运行,但是如果你在池中只有一个空闲连接,则必须等到连接可用,然后才能运行第二个查询。
但是,你可以保留池中的活动连接,并使用 pool.getConnection
使用单个连接运行尽可能多的查询:
pool.getConnection(function (err, conn) {
if (err) return callback(err);
conn.query('SELECT 1 AS seq', function (err, rows) {
if (err) throw err;
conn.query('SELECT 2 AS seq', function (err, rows) {
if (err) throw err;
conn.release();
callback();
});
});
});
注意: 你必须记住 release
连接,否则池的其余部分可以使用少一个 MySQL 连接!
有关池连接 MySQL 连接的更多信息,请查看 MySQL 文档 。