標籤:style color ar 使用 for sp strong 檔案 資料
從 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,再登入網站後台(模組管理->全站搜尋)重建全文索引,否則將無法使用全站搜尋功能。
For 5.5
# MySQL全文索引查詢關鍵詞最小長度限制
ft_min_word_len
影響索引的全文變數 (ft_min_word_len、 ft_max_word_len或ft_stopword_file),或假如你改變了禁用詞檔案本身,則你必須在改變和重新啟動伺服器後重建你的 FULLTEXT索引。這時,要重建索引, 只需進行一個QUICK 修理操作:
mysql> REPAIR TABLE tbl_name QUICK; #重建索引
# MySQL全文索引查詢關鍵詞最小長度限制
For 5.6
innodb_ft_min_token_size
mysql 全文尋找fulltext