2016-09-27 19 views
1
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(); 
        } 
       }); 
      } 
    }); 
}); 

すべての場所で接続を解除する必要がありますか? 接続を解除する最も効率的な方法は何ですか?ノードmysql接続プールのリリース

+0

おそらく['pool.query()'](https://github.com/mysqljs/mysql#pooling-connections)を使う方が簡単でしょう。 – robertklep

答えて

0

documentation状態:

あなたが接続して行われ、ちょうど(connection.releaseを呼び出す) との接続は、他の誰か で再び使用する準備ができて、プールに戻ります。私はのgetConnectionはエラー(あなたのコードサンプルではチェックされていない状態)を返さないならば、あなたは関係なく、その上に後続の操作が失敗した場合、それはプールに戻すようにするためにその接続を解放する必要があることを前提とし

プールの最大接続数を1に設定し、エラー状態を生成して接続を解放しないなど、テストすることができます。おそらく、別の接続を取得することはできません。