【发布时间】:2016-11-01 10:49:25
【问题描述】:
我希望使用 NodeJS 和 MySQL 数据库的连接池。根据文档,有两种方法可以做到这一点:或者我明确地从池中获取连接,使用它并释放它:
var pool = require('mysql').createPool(opts);
pool.getConnection(function(err, conn) {
conn.query('select 1+1', function(err, res) {
conn.release();
});
});
或者我可以这样使用它:
var mysql = require('mysql');
var pool = mysql.createPool({opts});
pool.query('select 1+1', function(err, rows, fields) {
if (err) throw err;
console.log('The solution is: ', rows[0].solution);
});
如果我使用第二个选项,这是否意味着连接会自动从池中拉出、使用和释放?如果是这样,是否有理由使用第一种方法?
【问题讨论】:
-
第一种情况在您打算使用连接对象进行某些操作时特别有用,而连接对象在池的情况下不可用。另一方面,当您只关心执行查询并让连接由 node-mysql 池功能管理时,池很有用。
标签: mysql node.js connection-pooling