关于数据库的连接何时释放的问题
来源:6-4 nodejs操作 mysql
慕莱坞0998854
2020-11-27
看到有同学问了一个关于连接池的问题( https://coding.imooc.com/learn/questiondetail/187038.html ),我在网上搜索相关知识的时候,发现了如下关于连接池的代码
pool.getConnection(function(err, connection){
connection.query( “select * from table1”, function(err, rows){
if(err) {
throw err;
}else{
console.log( rows );
}
});
connection.release();
});
如上所示,对于连接的释放( connect.release() )并没有放到query的回调函数中,我想请问下像这样查询还未完成就释放了链接是否是一个错误?因为本课视频中也有同样类似的操作(本课视频中并没有把关闭连接的操作con.end()放在query函数的回调中)。
所以想问一下,释放/关闭连接的操作应该写在哪个地方?感觉写在回调函数里面才对啊?
EDIT:
老师我想问的是查询完之后连接应该在何时释放,这个操作应该写在查询的回调函数里面吗?我在网上看到有文章说释放的操作不能写在查询的回调函数里面。。但我又觉得不合逻辑,所以想问问:
写回答
1回答
-
双越
2020-11-27
连接池就不要释放了。它本身就是用于保持多个连接,用于频繁查询的。
释放,还要链接池干嘛?
00
相似问题