Cập nhật:tháng 2 năm 2013 - hỗ trợ nhóm đã được thêm vào node-mysql, xem tài liệu
Ví dụ sử dụng pool tích hợp:
var pool = require('mysql').createPool(opts);
pool.getConnection(function(err, conn) {
conn.query('select 1+1', function(err, res) {
conn.release();
});
});
Các giải pháp trước năm 2013:
Bạn có thể sử dụng node-pool hoặc mysql-pool hoặc sử dụng bảng đấu vòng tròn đơn giản của riêng bạn
Hàmfunction Pool(num_conns)
{
this.pool = [];
for(var i=0; i < num_conns; ++i)
this.pool.push(createConnection()); // your new Client + auth
this.last = 0;
}
Pool.prototype.get = function()
{
var cli = this.pool[this.last];
this.last++;
if (this.last == this.pool.length) // cyclic increment
this.last = 0;
return cli;
}
bây giờ bạn có thể hy vọng có tất cả các lệnh gọi lại truy vấn để thực thi trong 1 giây:
var p = new Pool(16);
for (var i=0; i < 10; ++i)
{
p.get().query('select sleep(1)', function() { console.log('ready'); } ); // server blocks for 1 second
}