【问题标题】:What could cause a MySQL database to be extremely slow? [closed]什么可能导致 MySQL 数据库非常慢? [关闭]
【发布时间】:2013-04-26 17:19:06
【问题描述】:

我试图找出 MySQL 数据库在实时服务器上异常缓慢的原因。从表中删除一行(只有少于 100 行)可能需要 1 秒到 20 秒之间的任何时间。我检查了正在运行的进程,看不到任何会占用所有 CPU 或内存的东西。

而且网站还没有启动,所以只有我在上面。

在这些情况下,数据库如此缓慢的原因可能是什么?有什么方法可以诊断这类问题吗?

【问题讨论】:

  • 可能属于 dba.stackexchange.com
  • @JW웃,这是我的第一个猜测,所以我已经索引了所有有意义的列,但它仍然很慢。我得到的 20 秒查询是在那之后(不是说索引让它变慢了),在一个小桌子上,上面有一个简单的“从 id=123 的表中删除”。
  • 即使没有定义索引,100 行也不会太可怕,除非你有一些非常低效的删除查询,它依赖于多个嵌套在选择中或其他东西。
  • 您是否正在从测试网站(在另一台服务器上)删除?如果是这样,请通过命令行或 Workbench 直接在 MySQL 服务器计算机上尝试DELETE,看看那里是否也很慢。它可能只是两台服务器之间的管道。
  • 您使用的是什么数据库引擎?米萨姆? INNODB?

标签: mysql performance innodb


【解决方案1】:

在这些情况下,数据库如此缓慢的原因可能是什么?有什么方法可以诊断这类问题吗?

你确定是数据库慢吗?

使用命令行连接到您的服务器,启动 mysql,然后从那里运行一些示例查询。如果那里的速度足够快(应该如此,除非您疯狂地交换或拥有大量时髦的触发器),那么您可以安全地消除 SQL 作为罪魁祸首。如果没有,您的架构、数据库配置(是否有足够的内存?)或您的服务器(RAM 是否损坏?)可能存在问题。

另一个缓慢的来源可能是延迟。例子:

  • 进行 DNS 查找所需的时间(例如,有时连接到 127.0.0.1 比连接到 localhost 更快)

  • 由于数据库位于单独的服务器上而导致延迟(特别是如果数据库位于世界的另一端)

  • 如果涉及 blob,则从数据库检索结果所需的时间。

  • NSF 慢得可怕:

    http://lists.freebsd.org/pipermail/freebsd-fs/2013-April/017125.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    相关资源
    最近更新 更多