2011-05-06 123 views
0

我有一個網站,(運行在Windows Server 2008的MySQL 5.5和PHP 5.3),即將上線,但網站的搜索部分是非常緩慢的,如果使用的查詢還沒有被緩存。當它搜索一個有125,000行的大表時,它會影響整個網站。MySQL查詢緩存

我可以採取哪些措施來限制對網站的性能影響?

+0

多久表搜索走?你的數據庫是否正常化?你有索引你正在搜索的東西嗎?這些類型的搜索是什麼(例如FULLTEXT)? – babonk 2011-05-06 04:28:15

+0

它是一個FULLTEXT索引。查看導致問題的查詢的這個問題。 http://stackoverflow.com/questions/5905963/optimize-select-query-with-order-by-and-match-against – madphp 2011-05-06 14:06:31

回答

0

MySQL能夠處理的數據和萬盧比,除非你構建一個壞表結構和一個壞查詢它不會慢下來區區12.5萬行..

下面是一些提示,以快起來的東西,

  1. 規範化表結構

  2. 有適當的索引

  3. 嘗試寫一個簡單的查詢時,您可以 檢查,爲什麼你的查詢運行通過分析slow query log.

  4. 嘗試explain語句知道 的MySQL如何實際執行您的 查詢慢 。

  5. 即使在此之後,如果 緩慢仍然存在,並且請求 MySQL服務器預計將 鉅額再考慮查詢緩存 技術,如memcached

  6. 而在去年,什麼是 正在運行的進程在你的系統中。太多 進程在運行,並採取 內存可能會放慢運行的任何其他進程 ...

+0

謝謝。你可以看看這個問題,看看你是否注意到任何可以改進的地方。 http://stackoverflow.com/questions/5905963/optimize-select-query-with-order-by-and-match-against – madphp 2011-05-06 14:56:41