MySQL為什麼選B+樹
B 樹又叫平衡多路查詢樹
為什麼MySQL索引更適合B+樹而不是二叉樹、B樹
從Mysql(Inoodb)的角度來看,B+樹是用來充當索引的,一般來說索引非常大,尤其是關係性資料庫這種資料量大的索引能達到億級別,所以為了減少記憶體的佔用,索引也會被儲存在磁碟上。
那麼Mysql如何衡量查詢效率呢?磁碟IO次數,B-樹(B類樹)的特定就是每層節點數目非常多,層數很少,目的就是為了就少磁碟IO次數,當查詢資料的時候,最好的情況就是很快找到目標索引,然後讀取資料,使用B+樹就能很好的完成這個目的,但是B-樹的每個節點都有data域(指標),這無疑增大了節點大小,說白了增加了磁碟IO次數(磁碟IO一次讀出的資料量大小是固定的,單個資料變大,每次讀出的就少,IO次數增多,一次IO多耗時啊!),而B+樹除了葉子節點其它節點並不儲存資料,節點小,磁碟IO次數就少。這是優點之一。
相關文章
- MySQL索引為什麼使用B+樹?MySql索引
- B 樹和 B+樹的區別, 為什麼 MySQL 要使用 B+樹MySql
- 面試題:MySQL索引為什麼用B+樹?面試題MySql索引
- MySQL為什麼採用B+樹作為索引結構?MySql索引
- Mysql索引資料結構為什麼是B+樹?MySql索引資料結構
- 徹底搞懂MySQL為什麼要使用B+樹索引MySql索引
- mysql索引為啥要選擇B+樹 (下)MySql索引
- mysql索引為啥要選擇B+樹 (上)MySql索引
- 為什麼選擇b+樹作為儲存引擎索引結構儲存引擎索引
- 面試 (MySQL 索引為啥要選擇 B+ 樹)面試MySql索引
- Mysql InnoDB B+樹索引和雜湊索引的區別? MongoDB 為什麼使用B-樹?MySql索引MongoDB
- MySQL資料庫索引選擇使用B+樹MySql資料庫索引
- 資料庫索引為什麼用B+樹實現?資料庫索引
- MySQL之B+樹分析MySql
- 搞懂MySQL InnoDB B+樹索引MySql索引
- 【Mysql】InnoDB 中的 B+ 樹索引MySql索引
- MySQL索引-B+樹(看完你就明白了)MySql索引
- 我為什麼放棄MySQL?選擇了MongoDBMySqlMongoDB
- Elasticsearch 中為什麼選擇倒排索引而不選擇 B 樹索引Elasticsearch索引
- MySql的資料儲存之B+樹(淺談)MySql
- 來看看程式設計師經典面試題,為什麼資料庫索引多用B+樹程式設計師面試題資料庫索引
- 二叉樹、B樹以及B+樹二叉樹
- 平衡二叉樹,B樹,B+樹二叉樹
- 一分鐘掌握MySQL的InnoDB引擎B+樹索引MySql索引
- B+樹要點梳理
- B樹與B+樹區別辨析
- 資料結構之MySQL獨愛B+樹(二叉樹、AVL樹、紅黑樹、B樹對比)資料結構MySql二叉樹
- 為什麼選擇.NETCore?NetCore
- 跳槽必看MySQL索引:B+樹原理揭秘與索引優缺點分析MySql索引
- 主鍵為聯合主鍵時,索引B+樹結構索引
- 【資料結構】B樹、B+樹詳解資料結構
- 什麼是隧道代理 為什麼選隧道代理
- 為什麼選擇Guice框架GUI框架
- 為什麼選擇使用Rust?Rust
- Aembit為什麼選擇 Rust?Rust
- 為什麼越來越多的人選擇RDS建立MySQL資料庫?MySql資料庫
- 為什麼mysql選可重複讀作為預設的隔離級別MySql
- B+樹的幾點總結