mysql - 具有单个应用程序服务器实例的数据库连接池

标签 mysql node.js database-connection connection-pooling

我正在我的 web 应用程序的 Node.js 服务器代码中连接到远程 MySQL 数据库。当我只运行一个 Node.js 应用程序服务器实例时,使用连接池有什么优势吗?

最佳答案

连接池是针对每个应用程序实例的。当您连接到数据库时,您是从该特定实例进行操作,因此池位于该实例的范围内。创建池的优点是您不会经常创建/关闭连接,因为这通常是一个非常昂贵的过程。相反,您维护一组打开的连接,处于空闲状态,以便在需要时使用。

更新

在 Node 中,有 async.parallel() 构造,它允许您以异步方式启动一组任务。想象一下,这些任务代表每个任务一个单独的查询。如果您只有一个连接可供使用,则每个进程都应该使用同一个连接,并且它将很快成为瓶颈。相反,如果您有一个可用连接池,则每个任务都可以使用单独的连接,直到池完全使用为止。检查this更详细的引用。

关于mysql - 具有单个应用程序服务器实例的数据库连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50240418/

相关文章:

tomcat - 如何将 Connector/J Jar 复制到 Amazon EC2 上 Tomcat7 的 lib 文件夹?

java - JPA 应用程序中的连接何时返回到连接池?

mysql - mysql如何删除多个重复行

语句中的 PHP MySQL 错误

python - Django 在一个日期范围内取平均值

node.js - 如何使用node js结束机器人框架中的对话

javascript - 错误消息 'RangeError: Invalid time value' 的奇怪行为

node.js - ETH 交易可以取消吗?

postgresql - pgAdmin III 大师提示 - 服务器未监听

php - 小型/高效的 PHP 数据库选项