我正在我的 web 应用程序的 Node.js 服务器代码中连接到远程 MySQL 数据库。当我只运行一个 Node.js 应用程序服务器实例时,使用连接池有什么优势吗?
最佳答案
连接池是针对每个应用程序实例的。当您连接到数据库时,您是从该特定实例进行操作,因此池位于该实例的范围内。创建池的优点是您不会经常创建/关闭连接,因为这通常是一个非常昂贵的过程。相反,您维护一组打开的连接,处于空闲状态,以便在需要时使用。
更新
在 Node 中,有 async.parallel()
构造,它允许您以异步方式启动一组任务
。想象一下,这些任务
代表每个任务一个单独的查询。如果您只有一个连接可供使用,则每个进程都应该使用同一个连接,并且它将很快成为瓶颈。相反,如果您有一个可用连接池,则每个任务都可以使用单独的连接,直到池完全使用为止。检查this更详细的引用。
关于mysql - 具有单个应用程序服务器实例的数据库连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50240418/