Mysql 性能调优问题
Posted
技术标签:
【中文标题】Mysql 性能调优问题【英文标题】:Mysql issue with the performance tuning 【发布时间】:2013-09-20 05:26:33 【问题描述】:人们
我目前正在处理一个电信项目并处理 CDR(呼叫详细信息记录)文件,并基于此生成报告。我每天获得的记录约为 400 万条记录,每月平均约为 9000 万条记录。我们是使用 mysql 数据库并运行存储过程来处理记录。问题是我们在运行查询时面临性能问题。查询大约需要 4 分钟来处理和获取结果。
服务器内存为 4GB。
我担心的是
我们使用的 RAM 是否足够用于此类项目
我想在这里得到一些严肃的 DBA 建议。
【问题讨论】:
【参考方案1】:RAM 通常是数据库服务器的瓶颈,但不一定是最大的。真正理解查询变慢的原因很重要。现在鉴于有 9000 万条记录,可以肯定地说,在表上拥有正确的索引很重要。此外,在不知道查询细节的情况下,很难猜出它为什么慢。另一个需要考虑的方面是查询中连接的数量和类型。查询“更简单”(连接更少),通常这会加快查询速度。
最终,尽管我会对查询进行解释,以查看各个阶段以了解缓慢来自何处。我将从这里开始了解如何优化查询:
http://dev.mysql.com/doc/refman/5.0/en/using-explain.html
【讨论】:
【参考方案2】:RAM 不能是这里唯一的限制。您还需要有适当的数据库设计、服务器配置和索引。
如果您只处理数据以获取报告,请使用 MyISAM 引擎(如果尚未使用)。
【讨论】:
以上是关于Mysql 性能调优问题的主要内容,如果未能解决你的问题,请参考以下文章