兩種索引的功能和結構都是不同的
普通索引的結構主要以B+樹和雜湊索引為主,用於實現對欄位中資料的精確查詢,比如查詢某個欄位值等於給定值的記錄,A=10這種查詢,因此適合數值型欄位和短文字欄位
全文索引是用於檢索欄位中是否包含或不包含指定的關鍵字,有點像搜尋引擎的功能,其內部的索引結構採用的是與搜尋引擎相同的倒排索引結構,其原理是對欄位中的文字進行分詞,然後為每一個出現的單詞記錄一個索引項,這個索引項中儲存了所有出現過該單詞的記錄的資訊,也就是說在索引中找到這個單詞後,就知道哪些記錄的欄位中包含這個單詞了。因此適合用大文字欄位的查詢。
大欄位之所以不適合做普通索引,最主要的原因是普通索引對檢索條件只能進行精確匹配,而大欄位中的文字內容很多,通常也不會在這種欄位上執行精確的文字匹配查詢,而更多的是基於關鍵字的全文檢索查詢,例如你查一篇文章資訊,你會只輸入一些關鍵字,而不是把整篇文章輸入查詢(如果有整篇文章也就不用查詢了)。而全文索引正是適合這種查詢需求。
兩種索引的功能和結構都是不同的
普通索引的結構主要以B+樹和雜湊索引為主,用於實現對欄位中資料的精確查詢,比如查詢某個欄位值等於給定值的記錄,A=10這種查詢,因此適合數值型欄位和短文字欄位
全文索引是用於檢索欄位中是否包含或不包含指定的關鍵字,有點像搜尋引擎的功能,其內部的索引結構採用的是與搜尋引擎相同的倒排索引結構,其原理是對欄位中的文字進行分詞,然後為每一個出現的單詞記錄一個索引項,這個索引項中儲存了所有出現過該單詞的記錄的資訊,也就是說在索引中找到這個單詞後,就知道哪些記錄的欄位中包含這個單詞了。因此適合用大文字欄位的查詢。
大欄位之所以不適合做普通索引,最主要的原因是普通索引對檢索條件只能進行精確匹配,而大欄位中的文字內容很多,通常也不會在這種欄位上執行精確的文字匹配查詢,而更多的是基於關鍵字的全文檢索查詢,例如你查一篇文章資訊,你會只輸入一些關鍵字,而不是把整篇文章輸入查詢(如果有整篇文章也就不用查詢了)。而全文索引正是適合這種查詢需求。