#### 什么是全文索引
1. 其他索引是把字段的內容作為一個整體進行索引設計.
2. 全文索引,是把內容中的一些“單詞”拆分出來作為索引字段使用.
類似我們有一篇作文,把作文中的一些關鍵字給獲取出來當成是索引內容。

全文索引可以幫助我們解決:**模糊查詢不能使用索引的問題:**
例如:
~~~
select * from 表 where introduce like ‘%美國%’; //不會使用索引
~~~
語法:
~~~
alter table 表名 add fulltext key(字段);
~~~
全文索引使用語法規則:
~~~
select * from 表 where match(字段) against('模糊內容'); //模糊內容外有引號,千萬別使用 like,否則索引無效.
~~~
**注意:** mysql本身的全文索引在做模糊查詢的時候會有“自身的考慮”,把一些不常見的特殊內容給設計為索引內容,一些生活等常見用語(what where how SQL等等)就不給設計為索引內容了。
#### 全文索引注意
1. 字段類型必須為varchar/char/text類型.
2. mysql 5.6.4之前只有Myisam支持,5.6.4之后則Myisam和innodb都支持.
3. mysql中的全文索引目前只支持英文(不支持中文),**如果需要支持中文可以使用sphinx,MySQL自帶全文索引在國內基本不用**.
4. 生產活動中mysql的全文索引不常使用,可以通過sphinx代替.
5. mysql全文索引會自作聰明,對關鍵字的收錄有自己的考慮。例如生活常用單詞、頻繁使用單詞都不給創建索引(比如 for when where run等等)
- MySQL優化概述
- 存儲引擎的選擇
- innodb引擎
- myisam引擎
- memory引擎
- 查詢需優化語句
- 通用查詢日志
- 慢查詢日志
- profile機制
- 索引
- 索引基本介紹
- 索引類型
- 索引管理語法
- 創建索引主要事項
- 執行計劃
- 查看索引類型
- myisam索引數據結構
- innodb索引數據結構
- 索引覆蓋
- 索引使用原則
- 列獨立
- like查詢
- 復合索引使用
- or運算都具有索引
- mysql智能選擇
- 優化group by語句
- 前綴索引
- 全文索引
- 查詢緩存
- 查詢緩存操作
- 無緩存
- limit分頁優化
- 分區
- 分區介紹
- list分區
- range分區
- hash分區
- key(鍵值)分區
- 分區管理
- 分表
- 分表介紹
- 水平分表
- 垂直分表
- MySQL鎖機制
- 鎖機制介紹
- 鎖的幾種形式
- 表鎖操作
- 行鎖操作
- 數據碎片與維護
- 范式
- 第一范式
- 第二范式
- 第三范式
- 反三范式
- 主從復制
- 介紹
- 讀寫分離