关于数据库的连接何时释放的问题

来源: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

连接池就不要释放了。它本身就是用于保持多个连接,用于频繁查询的。

释放,还要链接池干嘛?

0
0

Node.js+Express+Koa2+Nest.js 开发服务端

从入门到实战,一站式掌握 Node.js+Express+Koa2

4051 学习 · 2006 问题

查看课程