Nodejs上的MySQL连接池

时间:2016-01-26 18:31:44

标签: mysql node.js connection-pooling

如果Node是单线程的,那么使用池连接MySQL有什么好处呢? 如果是,我应该何时发布连接?

与整个应用程序共享相同,持久的连接是不够的?

1 个答案:

答案 0 :(得分:2)

Nodejs是单线程的,对吧。但它也是异步的,这意味着单个线程会在不等待结果的情况下触发多个sql查询。结果仅通过回调处理。因此,使用具有多个连接的连接池是有意义的。数据库可能是多线程的,这使得可以并行化查询,尽管它们是连续触发的。但是,如果您不加以照顾,则无法保证结果的处理顺序。

有关连接发布的附录

如果使用连接池,则应为每个查询从池中获取/释放每个连接。这里没有很大的开销,因为池管理底层连接。

  1. 从泳池获取连接
  2. 查询
  3. 在回调释放连接中返回池。