Node.js + Oracle – 在每个请求之后保持连接打开或closures?

我有一个使用Node.js和连接到Oracle数据库的Web应用程序。

目前,我的Node和DB之间的架构使用一个连接,保持打开状态。 问题是一些查询需要很长时间才能返回,从而阻塞后续查询,直到第一次返回。

如果我在每个请求上打开一个新的连接,这不会发生,并且后续的查询将在第一个(长)之前返回。

问题是什么是最佳实践? 每个请求是否值得在callback时closures数据库的新连接,我是否应该优先考虑我知道要花费大量时间用自己的连接进行的查询,还是一个连接是正确的?

非常感谢您的想法。

您可以使用通用池模块,即通用资源池来重用昂贵的资源,如数据库连接

一般的想法是,你创build一个连接池与一定数量的连接(默认10)。 连接被重用,它们将保持一定的最大空闲时间(默认30秒)。

我在生产中使用这个Oracle数据库模块,到目前为止没有发现任何问题。