国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

            手機站
            千鋒教育

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

            千鋒教育

            掃一掃進入千鋒手機站

            領取全套視頻
            千鋒教育

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

            當前位置:首頁  >  技術干貨  > 為什么有關MongoDB采用B樹索引,以及Mysql B+樹做索引?

            為什么有關MongoDB采用B樹索引,以及Mysql B+樹做索引?

            來源:千鋒教育
            發(fā)布人:xqq
            時間: 2023-10-11 04:04:28 1696968268

            一、為什么有關MongoDB采用B樹索引,以及Mysql B+樹做索引

            B-樹和B+樹最重要的一個區(qū)別就是B+樹只有葉節(jié)點存放數(shù)據(jù),其余節(jié)點用來索引,而B-樹是每個索引節(jié)點都會有Data域。
            這就決定了B+樹更適合用來存儲外部數(shù)據(jù),也就是所謂的磁盤數(shù)據(jù)。
            從Mysql(Inoodb)的角度來看,B+樹是用來充當索引的,一般來說索引非常大,尤其是關系性數(shù)據(jù)庫這種數(shù)據(jù)量大的索引能達到億級別,所以為了減少內存的占用,索引也會被存儲在磁盤上。
            那么Mysql如何衡量查詢效率呢?磁盤IO次數(shù),B-樹(B類樹)的特定就是每層節(jié)點數(shù)目非常多,層數(shù)很少,目的就是為了就少磁盤IO次數(shù),當查詢數(shù)據(jù)的時候,較好的情況就是很快找到目標索引,然后讀取數(shù)據(jù),使用B+樹就能很好的完成這個目的,但是B-樹的每個節(jié)點都有data域(指針),這無疑增大了節(jié)點大小,說白了增加了磁盤IO次數(shù)(磁盤IO一次讀出的數(shù)據(jù)量大小是固定的,單個數(shù)據(jù)變大,每次讀出的就少,IO次數(shù)增多,一次IO多耗時?。。?,而B+樹除了葉子節(jié)點其它節(jié)點并不存儲數(shù)據(jù),節(jié)點小,磁盤IO次數(shù)就少。這是優(yōu)點之一。
            另一個優(yōu)點是什么,B+樹所有的Data域在葉子節(jié)點,一般來說都會進行一個優(yōu)化,就是將所有的葉子節(jié)點用指針串起來。這樣遍歷葉子節(jié)點就能獲得全部數(shù)據(jù),這樣就能進行區(qū)間訪問啦。

            (數(shù)據(jù)庫索引采用B+樹的主要原因是 B樹在提高了磁盤IO性能的同時并沒有解決元素遍歷的效率低下的問題。正是為了解決這個問題,B+樹應運而生。B+樹只要遍歷葉子節(jié)點就可以實現(xiàn)整棵樹的遍歷。而且在數(shù)據(jù)庫中基于范圍的查詢是非常頻繁的,而B樹不支持這樣的操作(或者說效率太低))。
            至于MongoDB為什么使用B-樹而不是B+樹,可以從它的設計角度來考慮,它并不是傳統(tǒng)的關系性數(shù)據(jù)庫,而是以Json格式作為存儲的nosql,目的就是高性能,高可用,易擴展。首先它擺脫了關系模型,上面所述的優(yōu)點2需求就沒那么強烈了,其次Mysql由于使用B+樹,數(shù)據(jù)都在葉節(jié)點上,每次查詢都需要訪問到葉節(jié)點,而MongoDB使用B-樹,所有節(jié)點都有Data域,只要找到指定索引就可以進行訪問,無疑單次查詢平均快于Mysql(但側面來看Mysql至少平均查詢耗時差不多)。
            總體來說,Mysql選用B+樹和MongoDB選用B-樹還是以自己的需求來選擇的。

            延伸閱讀:

            二、二叉樹和紅黑樹

            二叉樹:對于表提供自增整形字段作為建立索引的列,那子元素總是添加去了右側,導致左子樹一直為空,那么查找時就完全退化成了沒加索引那樣了。紅黑樹:紅黑樹解決了二叉樹不平衡的問題。然為什么要費力保持樹的平衡性?是因為樹的查找性能取決于樹的高度,讓樹盡可能平衡,就能降低樹高。但因為其父節(jié)點只能存在兩個子節(jié)點,那在數(shù)據(jù)量大的時候,深度也很大。
            聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
            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