2011-05-09 76 views
0

我正在运行一个网站,并且我在网站上达到了很多用户。现在我面临的问题是有一个表用于传入和传出的消息。当这个消息表的大小达到两百多万时,该网站变得非常缓慢。mysql优化

请告诉我这个问题的解决方案是什么?

我的网站是send sms to pakistan

我的服务器配置为1 GB RAM 786 GHz处理器 200 GB硬盘

+0

您使用什么存储引擎为表格? – 2011-05-09 17:19:01

+0

INNODB是我猜的存储引擎... – 2011-05-09 19:37:33

回答

2

没有一种千篇一律的解决方案来修复您的数据库。 Sharding可以提供帮助,但只有200万左右,我认为这个问题主要是编写不好的查询和缺乏索引。使用EXPLAIN和查询分析器来确定你的数据库正在做什么,然后在其上投入一些索引。升级到1或2ghz的服务器也将是一个相对便宜的方式来获得更好的速度。

1

你也许可以从加入指标到表中受益,并确保您的查询使用那些适当的。

Optimizing MySQL: Queries and Indexes是一篇很好的文章,涵盖了您可以分析网站缓慢查询的基本知识和其他内容。

+0

如果访问是写重的,该怎么办? MySQL如何处理并发INSERT?它依赖于存储引擎吗? – 2011-05-09 17:18:49

+0

Mysql有延迟插入的选项,可以在这里帮助。 – gaRex 2011-05-09 19:12:51