爲何要設置 Mysql 的 ft_min_word_len=1 ?
從 Mysql 4.0 開始就支持全文索引功能,可是 Mysql 默認的最小索引長度是 4。若是是英文默認值是比較合理的,可是中文絕大部分詞都是2個字符,這就致使小於4個字的詞都不能被索引,全文索引功能就形同虛設了。國內的空間 商大部分可能並無注意到這個問題,沒有修改 Mysql 的默認設置。
爲何要用全文索引呢?
通常的數據 庫搜索 都是用的SQL 的 like 語句,like 語句是不能利用索引的,每次查詢都是從第一條遍歷至最後一條,查詢效率極其低下。通常數據超過10萬或者在線人數過多,like查詢都會致使數據庫 崩潰。這也就是爲何不少程序都只提供標題搜索的緣由了,由於若是搜索內容,那就更慢了,幾萬數據就跑不動了。
Mysql 全文索引是專門爲了解決模糊查詢提供的,能夠對整篇文章 預先按照詞進行索引,搜索效率高,可以支持百萬級的數據檢索。
若是您使用的是本身的服務器 ,請立刻進行設置,不要浪費了這個功能。
若是您使用的是虛擬主機,請立刻聯繫空間商修改配置。首先,Mysql 的這個默認值對於中文來講就是一個錯誤的設置,修改設置等於糾正了錯誤。其次,這個配置修改很簡單,也就是幾分鐘的事情,並且搜索效率提升也下降了空間商數據庫宕掉的概率。 若是你把本篇文章發給空間商,我相信絕大部分都會願意改的。
設置方法:
請聯繫服務器管理 員修改 my.ini (Linux 下是 my.cnf ) ,在 [mysqld] 後面加入一行「ft_min_word_len=1 」,而後重啓Mysql,再登陸 網站後臺 (模塊管理->全站搜索)重建全文索引,不然將沒法使用全站搜索功能。mysql