日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql为什么采用b树_为什么MongoDB采用B树索引,而Mysql用B+树做索引

發布時間:2025/3/21 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql为什么采用b树_为什么MongoDB采用B树索引,而Mysql用B+树做索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

展開全部

事實上,在MySQL數據庫中,諸多存儲引擎使用的是B+樹,即便其名字看上去是BTREE。

4.1 innodb的索引機制

先以innodb存儲引擎為例,說明62616964757a686964616fe4b893e5b19e31333433643738innodb引擎是如何利用B+樹建立索引的

首先創建一張表:zodiac,并插入一些數據

對于innodb來說,只有一個數據文件,這個數據文件本身就是用B+樹形式組織,B+樹每個節點的關鍵字就是表的主鍵,因此innode的數據文件本身就是主索引文件,如下圖所示,主索引中的葉子頁(leaf page)包含了數據記錄,但非葉子節點只包含了主鍵,術語“聚簇”表示數據行和相鄰的鍵值緊湊地存儲在一起,因此這種索引被稱為聚簇索引,或聚集索引。

這種索引方式,可以提高數據訪問的速度,因為索引和數據是保存在同一棵B樹之中,從聚簇索引中獲取數據通常比在非聚簇索引中要來得快。

所以可以說,innodb的數據文件是依靠主鍵組織起來的,這也就是為什么innodb引擎下創建的表,必須指定主鍵的原因,如果沒有顯式指定主鍵,innodb引擎仍然會對該表隱式地定義一個主鍵作為聚簇索引。

同樣innodb的輔助索引,如下圖所示,假設這些字符是按照生肖的順序排列的(其實我也不知道具體怎么實現,不要在意這些細節,就是舉個例子),其葉子節點中也包含了記錄的主鍵,因此innodb引擎在查詢輔助索引的時候會查詢兩次,首先通過輔助索引得到主鍵值,然后再查詢主索引,略微有點啰嗦

總結

以上是生活随笔為你收集整理的mysql为什么采用b树_为什么MongoDB采用B树索引,而Mysql用B+树做索引的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。