【发布时间】:2016-01-26 18:31:43
【问题描述】:
如果Node是单线程的,那么使用池连接MySQL有什么好处?
如果是,我应该什么时候释放连接?
与整个应用程序共享相同的、持久的连接还不够吗?
【问题讨论】:
标签: mysql node.js connection-pooling
如果Node是单线程的,那么使用池连接MySQL有什么好处?
如果是,我应该什么时候释放连接?
与整个应用程序共享相同的、持久的连接还不够吗?
【问题讨论】:
标签: mysql node.js connection-pooling
Nodejs 是单线程的,对。但它也是异步的,这意味着单线程触发多个 sql 查询而不等待结果。结果仅通过回调处理。因此,使用具有多个连接的连接池是有意义的。该数据库可能是多线程的,这使得并行化查询成为可能,尽管它们是连续触发的。但是,如果您不特别注意,则无法保证结果的处理顺序。
关于连接释放的附录
如果您使用连接池,那么您应该为每个查询从池中获取/释放每个连接。这里没有很大的开销,因为池管理底层连接。
【讨论】: