一直看他们说node.jsmysql单连接有多耗多耗性能,看他们代码,好家伙,每次都连接和使用,使用完后关闭。问题是,node.js是单线程的,mysql连接可以全局保存,使用完之后可以不关闭啊。所以现在有个疑问,既然mysql可以保持全局连接复用,真的有必要使用连接池?
2 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
试想一个场景。有两个请求A和B,都需要操作数据库,A请求先过来,操作数据库需要10秒钟,此时程序处于阻塞状态,等待A请求的数据库操作结束,此时,B请求过来了,如果像你说的,全局只使用一个链接,那么B请求也要等着A结束才能继续执行,是不是?。。。。如果使用了连接池呢?其次,你说的代码里的创建/关闭,是指和数据库直连?还是创建/关闭和连接池的链接?如果是前者,那是你们代码的问题。
万千封印
TA贡献1891条经验 获得超3个赞
如果只考虑并发要求不高的话确实可以,就用同一个连接对象.举个例子吧;比如你去买早餐(煎饼果子),但是跟你一同前去的10个人,如果店主没有预先做好一些,而是现做这很耗时间(建立连接花费时间、客户端等待也耗时间),可能最后你们都走了
添加回答
举报
0/150
提交
取消