我正在使用Node.js和MySQL开发后端。有时,对于> 50,000的数据库,需要执行大量查询,而我正在使用连接池。我的问题是,由于池已用尽而被拒绝的查询将如何处理?是否将其排队直到连接可用然后执行?还是根本就不会执行?
确实存在类似的问题,但是答案并没有突出我的意思,他们只是建议增加限制大小。
答案 0 :(得分:1)
也许。
可以设置一些选项来修改行为。参见https://github.com/mysqljs/mysql#pool-options
请求可以在队列中等待空闲连接,也可以不等待。这基于选项waitForConnections
。如果将此选项设置为false,则请求将立即返回错误,而不是等待。
如果已经等待超过queueLimit
个请求,则新请求将立即返回错误。默认值为0,表示队列没有限制。
请求将最多等待acquireTimeout
毫秒,然后,如果仍然无法获得免费连接,则会返回错误。
附言:我不使用Node.js,我只是在文档中阅读了此内容。