国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

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

手機站
千鋒教育

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

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

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

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

文件系統(tǒng)和數(shù)據(jù)庫是由于什么原因才選擇B樹或B+樹建立?

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

一、文件系統(tǒng)和數(shù)據(jù)庫是由于什么原因才選擇B樹或B+樹建立索引的

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

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

延伸閱讀:

二、使用B+樹的好處

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

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

聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
10年以上業(yè)內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師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
Oracle數(shù)據(jù)庫的實例是什么?

一、Oracle數(shù)據(jù)庫的實例Oracle實例指的是由Oracle內存結構(SGA)和Oracle進程組合在一起的統(tǒng)稱,是一系列復雜的內存結構和操作系統(tǒng)進程;在任...詳情>>

2023-10-13 04:34:10
oracle數(shù)據(jù)庫有什么優(yōu)勢?

一、oracle數(shù)據(jù)庫有什么優(yōu)勢1、Oracle是大型數(shù)據(jù)庫而Mysql是中小型數(shù)據(jù)庫,Oracle市場占有率達40%,Mysql只有20%左右,同時Mysql是開源的而Orac...詳情>>

2023-10-13 04:33:00
為什么不用key-value型數(shù)據(jù)庫實現(xiàn)關系型數(shù)據(jù)庫?

一、為什么不用key-value型數(shù)據(jù)庫實現(xiàn)關系型數(shù)據(jù)庫TiDB / CockroachDB 都是基于 KV 模型做的分布式關系型數(shù)據(jù)庫。TiDB 實際上是構建在 TiKV + p...詳情>>

2023-10-13 04:21:53
關系型數(shù)據(jù)庫是什么?

一、什么是關系型數(shù)據(jù)庫關系型數(shù)據(jù)庫是按照關系模型組織和存儲數(shù)據(jù)的數(shù)據(jù)庫。它使用表格(表)的形式來表示和存儲數(shù)據(jù),每個表代表一個實體,而...詳情>>

2023-10-13 04:12:45
什么情況下需要使用分布式數(shù)據(jù)庫?

一、需要使用分布式數(shù)據(jù)庫的情況1、大規(guī)模數(shù)據(jù)存儲和處理當數(shù)據(jù)量非常大時,單個數(shù)據(jù)庫可能無法滿足存儲和處理的需求。分布式數(shù)據(jù)庫可以將數(shù)據(jù)...詳情>>

2023-10-13 04:09:56