0

我有一个在 MySQL 上运行的全新 Joomla 3.0 安装,我正在使用 Workbench。我不断遇到非常非常慢的查询。但是,它似乎很少,具体的查询。就像是

SELECT * FROM joom_users

运行非常非常慢并且经常失去连接。但是 UPDATE 和 INSERT 在这个表中工作得很好。我什至导入了一个 CSV 文件,而且速度非常快。我已经跑了

EXPLAIN SELECT * FROM joom_users

这张桌子没有任何明显的问题。所有的索引都在那里,而且表本身很小(只有大约 300 行)。我考虑过通配符可能会将其丢弃,因此我已将通配符替换为字段,并尝试从具有 2 个字段(在某些情况下,没有行)的其他表中进行查询,并且运行速度也很慢。

此外,对 ALTER 表的请求也运行缓慢。最后,我还用 Workbench 尝试了多台机器(一台 Win7,另一台 OSX),它们都运行缓慢,所以我已经消除了可能导致这种情况的任何本地问题。

我对此感到困惑。帮助!

4

1 回答 1

0

您给出的示例查询没有任何隐含的错误。它没有可以使用的索引,但除非它是一个非常宽的表,否则我希望它会非常快。

在共享服务器环境中,您不知道托管了多少其他数据库或它们的使用量有多大。如果您可以迁移到本地数据库,您将能够看到性能是否有所提高。

如果您的安装有 300 个活动用户,可能会有很多锁争用,尤其是在使用全表锁的 MyISAM 上。例如,看起来 Joomla 用户表有一个lastVisitDate,如果登录用户在每次页面加载时更新它,肯定会导致锁定问题。

于 2013-08-15T12:02:24.783 回答