Mysql之索引型別

2021-08-06 02:45:22 字數 729 閱讀 7366

(1)b-tree索引:b-tree意味著所有的值都是按順序儲存的,每乙個葉子頁到跟的距離相同。b-tree索引能夠加快資料訪問的速度,因為儲存引擎不再需要進行全表掃瞄來獲取需要的資料,取而代之的是從索引的根節點開始進行搜尋。跟節點的槽中存放了指向子節點的指標,儲存引擎根據這些指標向下層查詢。通過比較節點頁的值和要查詢的值可以找到合適的指標進入下層子節點,這些指標實際上定義了子節點頁中值的上限和下限。最終儲存引擎要麼找到對應的值,要麼該記錄不存在;b-tree索引列是順序組織儲存的,索引很適合查詢範圍資料。b-tree索引適合於全鍵值、鍵值範圍或鍵字首查詢。

(2)雜湊索引:雜湊索引基於雜湊表實現的,只有精確匹配索引所有列的查詢才有效。對於每一行資料,儲存引擎都會對所有的索引列計算出乙個雜湊碼,雜湊碼是乙個較小的值,不同鍵值計算出來的雜湊碼也不一樣。雜湊索引將所有的雜湊碼儲存在索引中,同時在雜湊表中儲存指向每個資料行的指標,雜湊索引本身只需儲存對應的雜湊值,所以索引的結構十分緊湊,這也讓雜湊查詢的速度非常快。

(3)空間資料索引(r-tree):空間索引可用於地理資料儲存,它需要gis相關函式的支援,由於mysql的gis支援並不完善,所以該索引方式在mysql中很少有人使用。

(4)全文索引:全文索引主要用於海量資料的搜尋,比如**或者京東對商品的搜尋,你不可能使用like進行模糊匹配吧,mysql從5.6開始支援innodb引擎的全文索引,功能沒有專業的搜尋引擎比如sphinx或solr豐富,如果你的需求比較簡單,可以嘗試一下mysql的全文索引,否則建議使用專業的搜尋引擎。

Mysql索引與優化 之索引型別

一.mysql索引型別可分為 普通索引 index 僅僅加快查詢速度 主鍵索引 primary key 主鍵索引必是唯一,唯一索引不一定是主鍵索引。唯一索引 unique 行上的值不能重複 全文索引 fulltext 二.建立索引 alter table 表名 add index unique fu...

Mysql索引與優化 之索引型別

一.mysql索引型別可分為 普通索引 index 僅僅加快查詢速度 主鍵索引 primary key 主鍵索引必是唯一,唯一索引不一定是主鍵索引。唯一索引 unique 行上的值不能重複 全文索引 fulltext 二.建立索引 alter table 表名 add index unique fu...

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

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