sql >> Database >  >> RDS >> Mysql

Node.js MySQL heeft een permanente verbinding nodig

Gebruik de mysql-verbindingspool. Het zal opnieuw verbinding maken wanneer een verbinding wegvalt en u krijgt het extra voordeel dat u meerdere SQL-query's tegelijkertijd kunt maken. Als u de databasepool niet gebruikt, blokkeert uw app databaseverzoeken terwijl het wacht tot de momenteel lopende databaseverzoeken zijn voltooid.

Ik definieer meestal een databasemodule waarin ik mijn query's gescheiden houd van mijn routes. Het ziet er ongeveer zo uit...

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);
    });
  });
});


  1. MySQL-triggerupdate met selectie uit een andere tabel

  2. Maximale grootte van UNIQUE index in MySQL

  3. SELECTEER EEN Rij met de MAX() waarde in een kolom

  4. Serienummers per groep rijen voor samengestelde sleutel