0

我有一个当前运行速度非常慢的 mysql 数据库。服务器上有许多数据库,所有其他数据库都运行良好,但是这个数据库非常慢,通常需要 2-10 秒进行非常简单的更新(更新小表中的 1 行)或选择查询(从小表中选择 1 行)。

我的问题是问是否有人能想到这个数据库运行如此缓慢的原因。流量很小(它是开发站点的数据库)。我已经排除了我的脚本,因为 phpMyAdmin 也很慢并且经常与这个数据库超时。我还检查了正在运行的进程以检查是否有任何异常,并且可能没有正在进行的进程,但数据库仍然会运行得很慢。

所以请任何人都可以阐明这里可能发生的事情。如果您需要,我很乐意提供额外的信息。

编辑:

除了评论,这里是一个运行缓慢的查询示例:

UPDATE `Users` SET `last active` = 1334763602 WHERE `ID` = 1

这个简单的更新查询需要 2 到 10 秒才能完成。ID 是一个主键,这个表有大约 30 条记录。

除了我最初的问题之外,SELECT 似乎还没有那么糟糕,尽管我看到 SELECT 的时间很慢,许多 SELECT 语句当前运行得很快,而 UPDATE 仍然很慢。

编辑2:

经过更多调查,它似乎可能与 InnoDB 表类型相关联。我已将一个表更改为 MyISAM,而在 InnoDB 中花费 1.5 秒的查询在 MyISAM 中只花费了 0.0006 秒。我想我的问题变成了如何最好地调整 InnoDB 表?

4

1 回答 1

0

看起来问题与数据库设置和 InnoDB 表有关。当数据库使用 MyISAM 时,它运行良好,所以我们对此进行了调查,结果发现默认缓冲池大小太小,导致内存问题。提高了默认缓冲池大小的值后,数据库的执行速度要快得多(如果不是更多的话,可能快 1000 倍左右)。

于 2012-04-19T17:52:41.537 回答