使用mysql2。
是真的,如果我们将 connectionLimit 设置为1,那么mysql查询将以串行方式(而不是并行方式)执行?
例如:
const mysql = require('mysql2');
const pool = mysql.createPool({
host: 'localhost',
user: 'name',
password:'password',
database: 'database',
waitForConnections: true,
connectionLimit: 1,
queueLimit: 0
}).promise();
pool.query("SELECT 'long' as query_result FROM table where big_column like '%sometext%'").then(r=>{ console.log(r[0])}); // long query
pool.query("SELECT 'fast' as query_result").then(r=>{console.log(r[0])}); // fast query
// Result:
// [ TextRow { query_result: 'long'} ]
// [ TextRow { query_result: 'fast' } ]
答案 0 :(得分:1)
是的,下一个查询将一直排队,直到上一个查询的连接释放回池中为止。
此外,如果将waitForConnections设置为false,则下一个查询将返回错误,而是移至已排队