Почему мое соединение с моим локальным сервером mysql такое медленное, когда я запрашиваю что-то с помощью своего сегментированного бота? - PullRequest
1 голос
/ 18 июня 2020

Я хочу подключить моего сегментированного бота Discord к моей локальной базе данных MySQL. Но когда я подключил 4 осколка, первые 3 работают так медленно, что для выполнения требуется около 20 секунд SELECT * FROM GeneralStats;

В этой таблице есть 1 строка с 4 столбцами. Так что это не займет так много времени.

Создатель моего соединения:

class Database {
constructor() {
    this.connection = mysql.createConnection({
        host: 'localhost',
        user: ``,
        password: '',
        database: ''
    });
    this.connection.on('end', async (err) => {
        client.log('MYSQL', client.shard.ids[0] + ' connection end!');
    })
    this.connection.on('error', async (err) => {
        client.log('MYSQL', client.shard.ids[0] + ' connection errored! Error message: ' + err.message);
    })
}
query(sql) {
    return new Promise((resolve, reject) => {
        this.connection.query(sql, (err, rows) => {
            if (err)
                return reject(err);
            resolve(rows);
        });
    });
}
close() {
    return new Promise((resolve, reject) => {
        this.connection.end( err => {
            if (err)
                return reject(err);
            resolve();
        });
    });
}
}

Каждый шард использует другого пользователя и пароль для подключения. Но я тоже пробовал это с тем же пользователем.

...