2012-06-07 90 views
0

我有一個腳本,當用戶搜索「蘋果」時,有一個與「閃亮蘋果」和「爛蘋果」等相關搜索coloumn等。布爾搜索數據庫有500萬行,非常慢

問題是我的搜索數據庫有5,600,000行,而且MySQL非常糟糕。

這裏是我的代碼:

$get = mysql_query("SELECT keyword FROM searches WHERE MATCH (keyword) AGAINST ('".mysql_real_escape_string(preg_replace('#([\S]+)#', '$1', $title))."' IN BOOLEAN MODE) LIMIT 0,15"); 

這走的是一條很長的時間來處理,我有一個非常活躍的網站,搜索越來越執行的每一秒,有誰能夠推薦我一些建議嗎?

謝謝!

+1

你的表是否有索引(或索引)? – jahroy

+0

不,它不。 – deadlyeffect

+1

嗯....這使得第一個建議非常簡單:創建一些。 – jahroy

回答

3

你需要索引。過去我曾經有過一些經驗,通過創建索引我們獲得了顯着的性能提升。

+0

謝謝,絕對加快了! – deadlyeffect

0

爲了加快速度,您必須對您查看的列編制索引。我放棄使用Mysql的本機搜索只是因爲它太糟糕了。我搬到Lucene,像魅力