您好,登錄后才能下訂單哦!
今天小編給大家分享一下mysql B+Tree索引的概念是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
概念
1、B+Tree是在B-Tree基礎上的一種優化,使其更適合實現外存儲索引結構。在B+Tree中,所有數據記錄節點都是按照鍵值大小順序存放在同一層的葉子節點上,而非葉子節點上只存儲key值信息,這樣可以大大加大每個節點存儲的key值數量,降低B+Tree的高度。
與B-Tree區別
B+的搜索與B-樹也基本相同,區別是B+樹只有達到葉子結點才命中(B-樹可以在非葉子結點命中)
(1)所有關鍵字都出現在葉子結點的鏈表中(稠密索引),且鏈表中的關鍵字恰好是有序的;( 只有根節點存儲關鍵字最后樹的末梢才有值 )
(2)非葉子結點相當于是葉子結點的索引(稀疏索引),葉子結點相當于是存儲(關鍵字)數據的數據層。(非根節點,存儲的其實是指向根節點的索引 )
(3) 因為前兩點,所以 不可能在非葉子結點存數據。 (區別B-的第三條)
(4)根節點橫向也有鏈指針(方便快速順藤摸瓜嘛,沒這個指針,就算下一個取的值是挨著的鄰居,也得跑個圈才能拿到)
使用說明
2、B+Tree索引是大多數MySQL存儲引擎的默認索引類型。
因為不再需要進行全表掃描,只需要對樹進行搜索即可,所以查找速度快很多。
因為 B+ Tree 的有序性,所以除了用于查找,還可以用于排序和分組。
可以指定多個列作為索引列,多個索引列共同組成鍵。
適用于全鍵值、鍵值范圍和鍵前綴查找,其中鍵前綴查找只適用于最左前綴查找。如果不是按照索引列的順序進行查找,則無法使用索引。
以上就是“mysql B+Tree索引的概念是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。