如果我使用 node-mysql 的连接池功能,这不会在我的应用程序中造成问题,因为连接会在之后重新使用connection.end()
吗?这就是我担心的原因:当您在 SQL 中定义变量或启动事务时,该变量或事务是持久的,直到连接关闭。由于连接实际上从未关闭,而是重新使用,因此变量和事务可以渗入另一个不期望变量或不期望事务存在的例程;它期待一个新的连接。
变量可能会造成大问题;例程永远无法安全地假定变量未定义,因为与磨损有关。
如果一个例程在调用end()
. 如果要使用此连接的下一个例程不处理事务,则所有查询都将附加到事务并暂停,永远不会被执行。在编写我的应用程序时,我可以小心一点,这样的错误永远不会发生,但是会发生错误,如果确实发生了,调试起来会非常困难(我不知道哪个例程处理连接错误,很糟糕)。
所以这些是我在考虑使用池时的一些担忧。当然,我不是唯一一个想到这些问题的人,所以请说明如何正确处理池连接,如果你愿意的话。:)
非常感谢。