首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >3次尝试后MySQL超级慢查询

3次尝试后MySQL超级慢查询
EN

Stack Overflow用户
提问于 2020-05-16 10:37:09
回答 1查看 192关注 0票数 0

我是一个不和谐的水平机器人,机器人将插入一个随机数量的XP每次用户键入一条消息在聊天。要查看用户级别,我有一个!level命令。就像这样:

代码语言:javascript
复制
      sql.query(`SELECT * FROM WMembers where DiscordID = ${message.author.id}`, (err, rows) => {
        if(err) console.log(err)

        if(!rows[0]) return message.channel.send("The user has no XP!")
        let xp = rows[0].XP
        let level = rows[0].Level
        let nextLevel = level * 40
      message.channel.send(**Level: **${level - 1}\n**Points: **${xp} / ${nextLevel}`)
      })

然而,当我调用命令超过2-3次时,查询开始执行得非常慢,需要5分钟才能返回值.

下面是我的sql代码:

代码语言:javascript
复制
const pool = mysql.createPool({
    host    : keys.dbHost,
    port    : 3306,
    user    : keys.dbUser,
    password: keys.dbPass,
    database: keys.dbName
});

let sql = {};
sql.query = function(query, params, callback) {
  pool.getConnection(function(err, connection) {
    if(err) { 
      if (callback) callback(err, null, null); 
      return; 
    }

    connection.query(query, params, function(error, results, fields) {
      connection.release();
      if(error) { 
        if (callback) callback(error, null, null); 
        return; 
      }
      if (callback) callback(false, results, fields);
    });
  });
};

如果有人能帮我,我会非常感激的。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-05-17 10:50:00

您显然没有足够的内存来存储数据库:https://dev.mysql.com/doc/mysql-monitor/4.0/en/system-prereqs-reference.html

MySQL的最低要求要求2GB内存。使用128‘t不会有多大进展。在这一点上,就像@ database建议的那样,限制应用程序与数据库的连接数量也会节省一些内存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61835427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档