3 4 優化你的索引 運用b 樹

2021-10-04 17:39:45 字數 659 閱讀 4056

===定義呢,基本與b樹相同,

除了 【非葉子節點的子樹,關鍵字的個數與指標是相同的。】,對比,比b樹存的資料更多:

b+樹:

1.1、關鍵字的個數與指標是相同的。

1.2、葉子節點才 儲存實際資料。

每次資料查詢都是從根到葉子,查詢時間複雜度很穩定,都是二分查詢o(logn),n是資料總數。

1.3、非葉子節點 存索引資料。

m階b樹: b樹關鍵字個數<=m-1 ;(上篇3-3)

m階b+樹: b樹關鍵字個數=m ;

因此相對於b樹,b+樹可以存更多的關鍵字資料,可以存更多索引,減少io讀取索引的次數

對比:結論:

因為b+樹

葉子節點間 有指標,所以可以 跨子樹葉子節點間進行 實際資料(葉節點上)的 範圍查詢資料,很方便,

所以綜上【用b+樹作為:mysql的索引的資料結構。】

資料庫 3 3 優化你的索引 運用B樹

b樹的示意圖如下 b樹,又叫平衡多路查詢樹。如果每個節點最多有m個孩子,那麼這樣的樹就是m階樹,咱們可以看到,該圖就是3階b樹的樣子。當然現實中咱們索引每個節點的孩子數上限肯定是遠大於3的。每個儲存塊中,主要包含了關鍵字和指向孩子的指標,那麼最多能有幾個孩子,取決於每個儲存塊的容量以及資料庫的相關配...

Mysql索引B 樹,索引優化

索引是幫助mysql高效獲取資料的排好序的資料結構 mysql底層資料結構 b tree 特點 儲存引擎 99 innodb,早期myisam mylasm儲存引擎磁碟檔案 用途tb myisam.myi index,儲存的索引,b 樹 tb myisam.myd data,儲存的資料 tb myi...

資料庫 3 2 優化你的索引 運用二叉查詢樹

先看一下二叉樹的示意圖 二叉查詢樹是每個節點最多有兩個子樹的資料結構,通常子樹被稱為左子樹或右子樹。二叉查詢樹的重要性質是,對於樹中的每個節點x,它的左子樹的任意節點的值均小於x,右子樹的任意節點的值都大於x。如果用二叉查詢樹來作為我們的索引,確實能夠提公升查詢效率。這裡需要我們注意的是,我們說的索...