MySQL कनेक्शन पूल का प्रयोग करें। जब कोई कनेक्शन मर जाता है तो यह फिर से जुड़ जाएगा और आपको एक ही समय में कई sql क्वेरी करने में सक्षम होने का अतिरिक्त लाभ मिलेगा। यदि आप डेटाबेस पूल का उपयोग नहीं करते हैं, तो आपका ऐप वर्तमान में चल रहे डेटाबेस अनुरोधों के समाप्त होने की प्रतीक्षा करते हुए डेटाबेस अनुरोधों को अवरुद्ध कर देगा।
मैं आमतौर पर एक डेटाबेस मॉड्यूल को परिभाषित करता हूं जहां मैं अपने प्रश्नों को अपने मार्गों से अलग रखता हूं। यह कुछ इस तरह दिखता है...
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'example.org',
user : 'bob',
password : 'secret'
});
exports.getUsers = function(callback) {
pool.getConnection(function(err, connection) {
if(err) {
console.log(err);
callback(true);
return;
}
var sql = "SELECT id,name FROM users";
connection.query(sql, [], function(err, results) {
connection.release(); // always put connection back in pool after last query
if(err) {
console.log(err);
callback(true);
return;
}
callback(false, results);
});
});
});