sql >> Databasteknik >  >> RDS >> Mysql

Node.js MySQL behöver beständig anslutning

Använd mysql-anslutningspoolen. Det kommer att återansluta när en anslutning dör och du får den extra fördelen av att kunna göra flera sql-frågor samtidigt. Om du inte använder databaspoolen kommer din app att blockera databasförfrågningar i väntan på att databasförfrågningar som körs ska slutföras.

Jag brukar definiera en databasmodul där jag håller mina frågor åtskilda från mina rutter. Det ser ut ungefär så här...

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. Hur får du UTC för ett datetime-fält?

  2. Hur UNCOMPRESS() fungerar i MariaDB

  3. Anropa en lagrad procedur från DECLARE-satsen när du använder markörer i MySQL

  4. Ta bort dubbletter från en stor tabell