Показать сообщение отдельно
  #1 (permalink)  
Старый 10.03.2016, 16:50
Новичок на форуме
Отправить личное сообщение для andryxx Посмотреть профиль Найти все сообщения от andryxx
 
Регистрация: 15.06.2015
Сообщений: 5

Концептуальная разница connection и pool модуля mysql
Всем добра!
никак не могу нагуглить, в чем состоит отличие функций методов подключения к mySQL (модуль mysql) connection и pool.
в документации вопрос не раскрыт.

исходя из логики, pool предназначен для параллельной работы множества соединений с БД.

но я не могу понять, чем хуже такой вариант:

var WebSocketServer = new require('ws');
var mysql = require('mysql');
var webSocketServer = new WebSocketServer.Server({port: 8081});

webSocketServer.on('connection', function(ws) 
{
	ws.on('message', function(queryString) 
	{	
		var connection = mysql.createConnection(
		{
			host     : 'xxx',
			user     : 'bob',
			password : 'secret',
			database : 'xxx'
		});
		
		connection.query(queryString, function(err, result)
		{
			//some function
		});
		
		connection.end();
	});

	ws.on('close', function() 
	{
		delete ws;
	});
});


я не силен в терминологии, но в таком коде при каждом обращении создается "экземпляр" функции function(queryString) обработчика события ws.on('message'. если я не ошибаюсь, все "экзепляры" функции работают асинхронно, с собственной областью видимости, независимо друг от друга, и, соответственно, с собственным подключением к БД.

здесь есть какие-то подводные камни? зачем все-таки нужен pool?
Ответить с цитированием