节点mysql连接池发布

时间:2016-09-27 19:44:32

标签: mysql node.js

pool.getConnection(function(err, connection){
       connection.query("QUERY 1", function(err, rows){
           if(err){
             "DO I NEED to RELEASE connection?"
           }else{
                connection.query("QUERY 2", function(err, rows2){
                    if(err){
                        "DO I NEED to RELEASE connection?"
                    }else{
                        connection.release();
                    }
                });
           }
    });
});

我应该在所有地方释放连接吗? 释放连接的最有效方法是什么?

1 个答案:

答案 0 :(得分:2)

documentation州:

  

完成连接后,只需调用connection.release()   并且连接将返回池,准备再次使用   别人。

我假设如果getConnection没有返回错误(代码示例中没有检查的条件),则必须释放该连接才能返回池,无论后续操作是否失败。

如果要确定,可以通过将池中的最大连接数设置为1来测试它,生成错误条件并且不释放连接。您可能无法获得另一个连接。