2011-05-09 75 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