mysql - 当连接池耗尽时,新查询会发生什么情况?

标签 mysql node.js connection-pooling pool

我正在使用 Node.js 和 MySQL 开发后端。有时,要对数据库进行大量查询 > 50,000,而我正在使用连接池。我的问题是查询由于池耗尽而被拒绝后会发生什么情况?它会排队直到连接可用然后执行吗?或者它永远不会被执行?

确实有类似的问题,但答案并没有突出我的观点,他们只是建议增加限制大小。

最佳答案

也许。

您可以设置一些选项来修改行为。参见 https://github.com/mysqljs/mysql#pool-options

请求可能会在队列中等待空闲连接,也可能不会。这基于选项 waitForConnections。如果将此选项设置为 false,请求将立即返回错误而不是等待。

如果超过queueLimit 个请求已经在等待,新的请求会立即返回一个错误。默认值为0,表示队列没有限制。

请求最多等待 acquireTimeout 毫秒,如果仍然没有获得空闲连接,则返回错误。

P.S.:我不使用 Node.js,我只是在文档中阅读了这个。

关于mysql - 当连接池耗尽时,新查询会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56893503/

相关文章:

php - 如何将网站迁移到框架?

javascript - 如何使用Node.js从json文件中读取数据并将读取的数据显示为html?

python - .NET Core 2.0 和 Angular 初始应用程序构建失败 - 找不到 python 后跟 JavaScript 运行时错误

java - 从源代码构建 C3p0 时出错

mysql - pool.query() 和 pool.getGetConnection() 在 connection.release() 上有何不同?

python - 如何在 Django 中从 JSONField 添加/删除数据

php - 表 2 B 列中的返回值,其中表 1 A 列与表 2 A 列匹配

java - HQL - 比较日期和对象

javascript - SocketIO网络/电源故障问题

java - 这是通过 jdbc 连接和断开 mysql 的安全方法吗?