node.js mysql createpool有时会死锁但为什么呢?

bq3bfh9z  于 2021-06-17  发布在  Mysql
关注(0)|答案(0)|浏览(236)

我有一个问题:我把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表

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题