MYSQL優化 索引定義,資料結構,分類(一)

2021-10-09 14:47:12 字數 1016 閱讀 3085

定義:索引(index)是幫助mysql高效獲取資料的資料結構(有序)。

優勢:

類似書籍目錄,提高資料檢索效率,降低資料庫的io成本

通過索引列對資料進行排序,降低資料排序的成本,降低cpu的消耗。

劣勢:實際來說索引也是一張表,該錶儲存了主鍵和索引字段,所以索引列是要占用空間的。

2.雖然提高了查詢效率,會降低更新表的效率。

公司一般用的是b+tree索引。

btree又叫多路平衡搜尋樹。

平常所說的索引就是b+樹結構組織的索引。其中聚集索引、復合索引、字首索引、唯一索引預設都是使用b+tree索引,統稱索引。

b+tree是btree的變種。

兩者區別:

mysql中的b+tree

對b+tree進行了優化,在原有的基礎上,增加了只想相鄰葉子節點的鍊錶指標,就形成了帶有順序指標的b+tree,提高區間訪問的效能。

單列索引:即乙個索引只包含單個列,乙個表可以有多個單列索引

復合索引:即乙個索引包含多個列

唯一索引:索引列的值必須唯一,允許有空值

主鍵索引:是一種特殊的索引,不允許有空值

檢視索引show index from table;

建立索引

create index index_name on table(table_name);

刪除索引

drop index index_name on table;

Mysql索引的資料結構及索引優化

索引的本質 是幫助mysql高效獲取資料的排好序的資料結構。索引資料結構 1 二叉樹 儲存資料的時候是乙個鍊錶,如果要查詢0006的話要查詢6次,如果是全表掃瞄的話也得查詢6次。弊端 二叉樹的查詢效率很低。2 紅黑樹 儲存資料的時候會自旋,如果要查詢0006的話只需要查詢3次。如果是全表掃瞄或二叉樹...

mysql 資料結構 Mysql索引資料結構

mysql索引資料結構 當慢查詢時,看sql是否走索引。索引的本質 索引是幫助mysql高效獲取資料的排好序的資料結構。mysql若不建立索引,查詢某條資料時則會逐行掃瞄,每掃瞄一行資料就會做一次磁碟io。b tree 葉節點具有相同的深度,葉節點的指標為空。所有索引元素不重複。葉節點中的資料索引從...

mysql索引資料結構 mysql索引資料結構

什麼是索引?索引就是排好序的資料結構,可以幫助我們快速的查詢到資料 幾種資料結構 二叉樹 如果資料是單邊增長的情況 那麼出現的就是和鍊錶一樣的資料結構了,樹高度大 紅黑樹 在二叉樹的基礎上多了樹平衡,也叫二叉平衡樹,不像二叉樹那樣極端的情況會往乙個方向發展。同樣我們查詢6,在二叉樹中我們需要經過6個...