b 樹和b 樹,關聯式資料庫原理簡要說明

2021-10-07 07:39:37 字數 809 閱讀 2397

b-樹  m階 

1 非葉子節點關鍵字個數 m/2b+樹 m階 

1 非葉子節點關鍵字個數 m/2比較:

1 b+樹由於非葉子節點中不儲存資料,每個節點的大小設計為一頁大小4k,不儲存資料節點就可以儲存更多的關鍵字,使得樹深度(h)更小,索引資料庫時可以減少io操作。

2 b+樹資料都在葉子節點儲存,查詢資料要到葉子節點,查詢效能更穩定。b樹所有葉子節點都儲存資料,每個節點都可以查到資料,不穩定。

3 b+樹葉子節點指向下乙個葉子節點,形成有序鍊錶,查詢資料更方便。

關聯式資料庫:

1 關聯式資料庫索引檔案儲存在硬碟上,所以為了提高查詢效能,需要減少訪問硬碟的io次數。使用b-,b+樹可以減少io訪問次數。

2 b+樹作為資料結構索引更好,因為非葉子節點不儲存資料,只儲存關鍵字。設計乙個節點大小為一頁4k,可以儲存更多的關鍵字。那麼樹的深度就會更小,io次數會更少。

葉子節點是有序鍊錶,順序查詢更方便。

資料庫引擎:

myisam引擎:使用b+tree作為索引結構,葉節點的data域存放的是資料檔案的資料記錄位址。

innodb引擎:使用b+tree作為索引結構, 資料檔案本身就是索引檔案。

主索引檔案:必須有乙個主索引檔案(包括所有資料)。

輔助索引檔案:葉子節點data只有主鍵的值,查詢輔助索引時先根據輔助索引查到主鍵值,然後主鍵值根據主索引檔案查詢出所有記錄。

了解不同儲存引擎的索引實現方式對於正確使用和優化索引都非常有幫助,例如知道了innodb的索引實現後,就很容易明白為什麼不建議使用過長的字段作為主鍵,因為所有輔助索引都引用主索引,過長的主索引會令輔助索引變得過大

資料庫原理知識 B 樹 B 樹 B 樹

b 樹 是一種多路搜尋樹 並不是二叉的 1.定義任意非葉子結點最多只有m個兒子 且m 2 2.根結點的兒子數為 2,m 3.除根結點以外的非葉子結點的兒子數為 m 2,m 4.每個結點存放至少m 2 1 取上整 和至多m 1個關鍵字 至少2個關鍵字 5.非葉子結點的關鍵字個數 指向兒子的指標個數 1...

資料庫設計原理 B樹 B 樹 B 樹

b樹即二叉搜尋樹 1.所有非葉子結點至多擁有兩個兒子 left和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點關鍵字小,就進入左兒...

b樹b 樹b 樹 資料庫之B 樹

資料庫索引就是使用b 樹和b 樹來實現的 為什麼要建立b 樹演算法?給出兩個常用的sql語句 根據某個值查詢資料 select from user where id 1234 根據區間值來查詢某些資料 select from user where id 1234and id 2345 考慮到效能方面...