91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql選用B+樹的原因是什么

發布時間:2021-07-30 15:43:58 來源:億速云 閱讀:174 作者:Leah 欄目:大數據

Mysql選用B+樹的原因是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

先從數據結構的角度來答。

  • 應該知道B-樹和B+樹最重要的一個區別就是

    • B+樹只有葉節點存放數據,其余節點用來索引,

    • 而B-樹是每個索引節點都會有Data域。

  • 這就決定了B+樹更適合用來存儲外部數據,也就是所謂的磁盤數據

  • 從Mysql(Inoodb)的角度來看,

    • B+樹是用來充當索引的,一般來說索引非常大,尤其是關系性數據庫這種數據量大的索引能達到億級別,

    • 所以為了減少內存的占用,索引也會被存儲在磁盤上。

  • 那么Mysql如何衡量查詢效率呢?

    • B+樹所有的Data域在葉子節點,

    • 這樣遍歷葉子節點就能獲得全部數據,這樣就能進行區間訪問啦。

    • 一般來說都會進行一個優化,就是將所有的葉子節點用指針串起來。

    • 說白了增加了磁盤IO次數

    • (磁盤IO一次讀出的數據量大小是固定的,單個數據變大,每次讀出的就少,IO次數增多,一次IO多耗時啊!),

    • 磁盤IO次數,B-樹(B類樹)的特定就是每層節點數目非常多,層數很少,目的就是為了就少磁盤IO次數,

    • 當查詢數據的時候,最好的情況就是很快找到目標索引,然后讀取數據,使用B+樹就能很好的完成這個目的,

    • 但是B-樹的每個節點都有data域(指針),這無疑增大了節點大小,

    • 而B+樹除了葉子節點其它節點并不存儲數據,節點小,磁盤IO次數就少。

    • 這是優點之一。

    • 另一個優點是什么,

    • 至于MongoDB為什么使用B-樹而不是B+樹,

      • 它并不是傳統的關系性數據庫,而是以Json格式作為存儲的nosql

      • 目的就是高性能,高可用,易擴展。

      • 首先它擺脫了關系模型,

      • 其次Mysql由于使用B+樹,數據都在葉節點上,每次查詢都需要訪問到葉節點,

      • 而MongoDB使用B-樹,所有節點都有Data域,

      • 上面所述的優點2需求就沒那么強烈了,

      • 只要找到指定索引就可以進行訪問,無疑單次查詢平均快于Mysql(但側面來看Mysql至少平均查詢耗時差不多)。

      • 可以從它的設計角度來考慮,

    • 總體來說,Mysql選用B+樹和MongoDB選用B-樹還是以自己的需求來選擇的。

    看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    江孜县| 闸北区| 永福县| 镇安县| 海兴县| 宁强县| 大冶市| 清河县| 太谷县| 云浮市| 巴楚县| 郧西县| 旬阳县| 深圳市| 巴青县| 邢台县| 龙岩市| 雅安市| 德钦县| 西吉县| 三江| 洛浦县| 江都市| 临清市| 太白县| 平利县| 兴仁县| 灵台县| 六枝特区| 长顺县| 德化县| 齐齐哈尔市| 青浦区| 深州市| 勐海县| 醴陵市| 唐山市| 兴安盟| 定陶县| 青河县| 安吉县|