我们有一个已建立的Web应用程序,该数据库应用程序由mysql数据库支持.我们每月将数据递增地添加到各个表中.
在最近更新之后,数据库性能已大大降低,我们不得不撤消更新.
到目前为止,我已经确定了Web服务逻辑中涉及的查询-没有更新,只是读取.我已经确定所有查询都使用高效的表索引.
我知道这是一个很难诊断的问题,我不希望在这里找到确切的答案,我只需要进一步诊断的一些建议,并提供需要调查的地方的提示,以找出导致问题的原因.
最佳答案
可以产生巨大影响的一件事是如何为给定的使用模式将内存分配给MySQL.
查询缓存,innodb缓冲区等的相对大小应根据您的特定需求进行调整.
MySQL Server Performance(需要免费注册)
10 MySQL Variables that You Should Monitor
Understanding Performance Statistics
MySQLTuner是用perl编写的出色(免费)调试诊断工具.
确保已启用慢查询日志并定期对其进行检查.随着数据量的增长,过去速度很快.重新调整内存参数后,随着将资源从一种查询类型转移到另一种查询类型,快速查询也会变慢,反之亦然.
即使查询对您来说看起来不错,也请确保并运行Explain命令以验证正在使用索引.