日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

阿龙的学习笔记--- B-树和B+树 以及 MySQL的索引机制总结

發布時間:2023/12/14 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阿龙的学习笔记--- B-树和B+树 以及 MySQL的索引机制总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • B-樹和B+樹原理詳解:https://blog.csdn.net/ywlmsm1224811/article/details/97890446

  • 深入理解MySQL索引之B+Tree: 寫得好!InnoDB和MyISEM的區別也很清楚。https://blog.csdn.net/b_x_p/article/details/86434387

  • MySQL索引詳解:寫得超詳細。https://blog.csdn.net/IT_10/article/details/95488179

  • MyISAM和InnoDB的區別:超詳細https://blog.csdn.net/helloxiaozhe/article/details/88601028

  • B-樹和B+樹區別:

    • b+樹的中間節點不保存數據,(一般一個節點大小為一個磁盤頁) 所以磁盤頁能容納更多節點元素,更“矮胖”;
    • b+樹查詢必須查找到葉子節點,b樹只要匹配到即可不用管元素位置,因此b+樹查找更穩定;
    • 葉子節點之間有指針,鏈式。對于范圍查找來說,b+樹只需遍歷葉子節點鏈表即可。
  • 為啥最終選擇了B+樹作為MySQL的結構:

    B+Tree是B TREE的變種,B TREE能解決的問題,B+TREE也能夠解決(降低樹的高度,增大節點存儲數據量)

    B+Tree掃庫和掃表能力更強。如果我們要根據索引去進行數據表的掃描,對B TREE進行掃描,需要把整棵樹遍歷一遍,而B+TREE只需要遍歷他的所有葉子節點即可(葉子節點之間有引用)。

    B+TREE磁盤讀寫能力更強。他的根節點和支節點不保存數據區,所以根節點和支節點同樣大小的情況下,保存的關鍵字要比B TREE要多。而葉子節點不保存子節點引用,能用于保存更多的關鍵字和數據。所以,B+TREE讀寫一次磁盤加載的關鍵字比B TREE更多。

    B+Tree排序能力更強。上面的圖中可以看出,B+Tree天然具有排序功能。

    B+Tree查詢性能穩定。B+Tree數據只保存在葉子節點,每次查詢數據,查詢IO次數一定是穩定的。當然這個每個人的理解都不同,因為在B TREE如果根節點命中直接返回,確實效率更高。


總結

以上是生活随笔為你收集整理的阿龙的学习笔记--- B-树和B+树 以及 MySQL的索引机制总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。