千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 文件系統和數據庫是由于什么原因才選擇B樹或B+樹建立?

文件系統和數據庫是由于什么原因才選擇B樹或B+樹建立?

來源:千鋒教育
發布人:xqq
時間: 2023-10-13 03:03:02 1697137382

一、文件系統和數據庫是由于什么原因才選擇B樹或B+樹建立索引的

索引的目標是要找到數據所在的物理位置,因此用樹去實現搜索數據所在物理位置,每個節點對應一次IO,因此結合知識點1為了減少搜索時間,就需要控制樹的高度,那這樣的話二叉樹明顯不行,因為二叉樹插入的話樹的高度是沒辦法控制的,因此采用B+樹的形式,每個節點對應很多子節點,插入節點時增加子節點而不是增加樹高度。更進一步,采用B+樹時在相同數據量的情況下如何降低樹的高度?當然是增加每一層的數據量,而考慮到知識點2,一個節點對應一個扇區大小存儲多個數據項,既可以降低索引文件大小,又可以在相同數據量的情況下減少每層節點數,提高性能。

這是配合磁盤特性的,本來查詢樹使用多分支在內存里是沒有意義的,只會導致讀取了更多數據,但磁盤(或者說機械硬盤)的特性在于,多次隨機讀取效率遠低于連續讀取一大段數據,因為每一次都需要經過尋道。這樣B樹就被設計為用較少的次數讀取磁盤,每次讀取較大的塊,從而優化整體查詢。

延伸閱讀:

二、使用B+樹的好處

由于B+樹的內部節點只存放鍵,不存放值,因此,一次讀取,可以在內存頁中獲取更多的鍵,有利于更快地縮小查找范圍。

B+樹的葉節點由一條鏈相連,因此,當需要進行一次全數據遍歷的時候,B+樹只需要使用O(logN)時間找到最小的一個節點,然后通過鏈進行O(N)的順序遍歷即可。而B樹則需要對樹的每一層進行遍歷,這會需要更多的內存置換次數,因此也就需要花費更多的時間。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
亚洲一区精品自拍 | 亚洲国产无线乱码 | 在线观看国产高清a | 亚洲一级精品视频在线观看 | 亚洲日韩另类欧美一区二区 | 亚洲第一a在线网站 |