Rather than creating and managing connections one-by-one, "mysql" module also provides built-in connection pooling using mysql.createPool(config) method.
A connection pool is a cache of database connections maintained so that the connections can be reused when future requests to the database are required.
Connection pools are used to enhance the performance of executing commands on a database.
In connection pooling, after a connection is created, it is placed in the pool and it is used again so that a new connection does not have to be established. If all the connections are being used, a new connection is made and is added to the pool.
Pools accept all the same options as a connection. When creating a new connection, the options are simply passed to the connection constructor.
Example of using pool directly:
const mysql = require('mysql');

const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: 'pass',
  database: 'nodedb',
  charset: 'utf8'
});

let sql ='SELECT 1 + 1 AS solution';

pool.query(sql, (err, res, fields)=>{
  if(err) throw err;
  console.log('The solution is: ', res[0].solution);
});

- Call the pool.getConnection() method to use a connection from pool.
When you are done with a connection, just call con.release();, and the connection will return to the pool, ready to be used again by someone else.
const mysql = require('mysql');

const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: 'pass',
  database: 'nodedb',
  charset: 'utf8'
});

//use pool connection
var sql ='SELECT 1 + 1 AS solution';

pool.query(sql, (err, res, fields)=>{
  if(err) throw err;
  console.log('The solution is: ', res[0].solution);
});

//another connection
pool.getConnection((err, con)=>{
  sql ='SELECT id, name FROM friends LIMIT 1';

  // Use the connection
  con.query(sql, (err, res, fields)=>{
    console.log(res[0]);
    con.release(); //done with the connection, free memory

    // Handle error after the release
    if(err) throw error;

    // Don't use the connection here, it has been returned to the pool.
  });
});
Results:
The solution is: 2
{id: 1, name: 'Olpram'}
- If you would like to close the connection and remove it from the pool, use con.destroy(); instead. The pool will create a new connection the next time getConnection() is called.

- For more details and examples, see documentation: Node.js MySQL Pooling connections.

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which HTML element can be used to embed a SWF flash content?
<object> <div> <script>
<object type="application/x-shockwave-flash" data="file.swf" width="500" height="250">
 <param name="src" value="file.swf" />
 Your browser not support SWF.
</object>
Which CSS pseudo-class adds a style to an input form field that has keyboard input focus?
:active :focus :hover
input:focus {
  background-color: #88fe88;
}
Click on the instruction which converts a JSON string into a JavaScript object.
JSON.stringify(javascript_object) object.toString() JSON.parse(json_string)
var jsnstr = '{"url": "http://coursesweb.net/", "title": "Web Development Courses"}';
var obj = JSON.parse(jsnstr);
alert(obj.url);
Indicate the PHP function which can be used to create or write a file on server.
fopen() file_put_contents() file_get_contents()
if (file_put_contents("file.txt", "content")) echo "The file was created";
else echo "The file can not be created";
MySQL Pooling Connections

Last accessed pages

  1. Follow the mouse cursor with a DIV inside a Parent (2914)
  2. Add Pause in JavaScript script (9991)
  3. Input text fields (2286)
  4. Read Excel file data in PHP - PhpExcelReader (61135)
  5. Detecting events in ActionScript 3 (787)

Popular pages this month

  1. Insert, Select and Update NULL value in MySQL (558)
  2. Read Excel file data in PHP - PhpExcelReader (467)
  3. PhpSpreadsheet - Read, Write Excel and LibreOffice Calc files (342)
  4. PHP getElementById and getElementsByTagName (266)
  5. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (253)