MySQL索引 索引型別

2021-10-04 17:48:00 字數 631 閱讀 7732

在mysql有兩種索引型別

hash

b+樹

hash索引原理比較簡單就是利用了乙個hash表

說b+樹之前先要了解b+樹的資料結構。不廢話,先上圖。

對b+樹做一些解釋,參考上圖。

b+樹的資料都在葉子節點上

非葉子節點上的這些都是範圍。舉例:最上面的根節點上的資料是5,28,65代表的是它的三個子樹上的資料,根節點下有三個子樹,第乙個子樹上的資料範圍值大於等於5,小於28;第二個子樹上的資料範圍是大於等於28,小於65;第三個子樹上的資料是大於等於65的。

如2所說,在非葉子節點上是劃分範圍的,那麼資料在葉子節點上也是按大小排列的。

如圖data,類似乙個鍊錶的結構,葉子節點之間有指標相連。例如左數第乙個葉子節點和左數第二個葉子節點之間通過指標相連,後面的同理。這樣做的好處是方便範圍查詢,比如我要找20~30之間的數,圖中20,26,27在同乙個葉子節點上而28,30在另乙個也字節點上,那麼在找到(20,26,27)這個節點後可以直接通過指標找到(28,30,33)這個節點,如果沒有這個這個指標,就要回溯到最上面的根節點才能找到(28,30,33)這個節點。

mysql索引型別介紹 mysql索引型別介紹

索引型別介紹 主鍵索引 primary key 要求關鍵字不能重複,也不能為null,同時增加主鍵約束 主鍵索引定義時,不能命名 唯一索引 unique index 要求關鍵字不能重複,同時增加唯一約束 普通索引 index 對關鍵字沒有要求 全文索引 fulltext key 關鍵字的 不是所有欄...

mysql索引型別介紹 mysql索引型別介紹

b 樹是多路平衡查詢樹,相對於平衡二叉樹,對父結點的直接子結點個數,不再僅限於2,可以指定m 自定義 這樣可以在樹的深度不大量增加的前提下,儲存更多的結點。b 樹是通常在檔案系統中使用。特點 a 樹的每個結點最多有m 自定義 子結點 b 若根結點不是葉子結點,則至少有兩個子結點 c 除根結點外的所有...

MySQL 索引型別 索引方式

一 索引型別 1 normal 表示普通索引 2 unique 表示唯一索引,不允許重複的索引 3 full text 表示全文索引,用於在一篇文章中,檢索文字資訊的。二 建立索引的原則 1 選擇唯一性索引 2 為經常需要排序 分組和聯合操作的字段建立索引 3 為常作為查詢條件的字段建立索引 4 限...