為什么要設置 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,再登錄 網站后台 (模塊管理->全站搜索)重建全文索引,否則將無法使用全站搜索功能。
