在索引結構篇咱們知道了彙集索引和非彙集索引的區別,在mysql中,還有一些其餘類型索引的概念mysql
聯合索引(多列索引):使用多列字段組合建立索引,聯合索引查詢比設置多個單列索引效率高sql
聯合索引如何查詢:按順序先比較第一個聯合的字段大小,相同就繼續比較下一個
最左前綴原則:涉及到聯合索引的查詢時,最左優先,從聯合索引的最左邊開始匹配,不然,由於其餘字段的非有序性,須要去掃描全表,沒法進行聯合索引的使用
前綴索引:當對長類型的字段添加索引的時候,要使用前綴索引對字段指定長度的部分建立索引,不然會形成索引存儲空間過大函數
覆蓋索引:對字段進行覆蓋索引操做,若是索引存儲的數據知足查詢語句須要的結果,則不須要再去進行系統調用,直接返回索引中的數據orm
惟一索引(Unique):索引字段要求惟一性,不容許重複數據索引
普通索引(Normal):基本索引類型,非主鍵ip
全文索引(Full Text):通常對長文本建立的索引效率
空間索引(SPATIAL):對空間類型數據建立的索引數據
tips:
1.索引不能放在表達式或者函數中,不然會失效查詢
2.有時候正確使用聯合索引,或者輔助索引中的主鍵,能夠避免回表block