У меня проблема: я изменил mysql с createConnection на createPool. Но иногда, когда выполняется много запросов, я получаю взаимоблокировку.
Вот бассейн
var db_config = {
connectionLimit : 1000,
host: 'localhost',
user: '******',
password: '******',
database: '******.com'
};
pool = mysql.createPool(db_config);
pool.getConnection(function(err, connection) {
if(err) {
logger.error('[ERROR] Connecting to database "' + err.toString() + '"');
setTimeout(function() { database_connection(); }, 2500);
}
else
{
pool.query('SET NAMES utf8');
pool.query('SET CHARACTER SET utf8');
logger.trace('[INFO] Connected to database and set utf8!');
}
});
Это соединение с базой данных
Но по любой причине, когда много запросов отправляются одновременно или что-то, я получаю тупиковое сообщение
Обнаружен тупик при попытке получить блокировку; попробуйте перезапустить транзакцию
Каждый запрос, который использовался для запросов, выглядит так
pool.query('SELECT * users');
Я прочитал, что запрос объединяет соединение + запрос + выпуск, вот что я прочитал.
Но я не знаю, почему столько раз тупик ... у кого-нибудь есть идеи? : /
Таблицы InnoDB MySQL