有哪些方法可以减少mysql中正在运行的查询所使用的资源量?



我的网站运行良好,但每当我试图对数据库进行更改时,它移动得非常慢,有时会冻结。这是由于负载太高,太多的查询正在运行,我已经减少了查询的数量,但我的网站流量不断增加,并继续导致mysql运行缓慢。我的管理员已经优化了mysql,所以我正在寻找替代方法来提高数据库的性能,减少负载,而不运行更少的查询。

除了升级服务器硬件或安装新服务器之外,我会查看查询分析器,例如MySQL内置的查询分析器或Jet profiler,这也是强烈推荐的。这将帮助您识别查询中的瓶颈。

此外,如果遇到瓶颈,您可能需要重构代码以运行更少的查询或更好地使用表索引。

然而,如果你的预算允许,@Marc的答案是绝对推荐的。

如果DB本身进行了尽可能多的调整,那么您还有两个其他选项:

  1. 升级硬件(更快的磁盘,更快的cpu,更多的ram)
  2. 设置一个db服务器集群,以便负载在多台机器之间分配。

是否可以进一步优化您的查询或模式?

我发现mysql的慢速查询日志对确定哪些查询需要配置和改进很有用http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

最新更新