二叉樹
不適合自增長索引,失去索引效率,樹單邊增長,成鏈表狀。
(從1插入到4)
紅黑樹(平衡二叉樹)
不適合數據量大,樹太高。如果查找數據在葉子節點,則需要查樹高次數。
(從1插入到5)
hash表
hash衝突,並且不支持範圍查詢,大於小於區間查詢。
mysql支持,等於查詢能快速定位,只適合數據量特別大,範圍查詢很少,性能要求很高場景。
B+Tree
data放在葉子節點, 非葉子節點不存data,只存索引,可以放更多的索引,順時針訪問指針,提高了區間訪問性能。
支持範圍查詢,左節點比父節點小,右節點比父節點大,並且葉子節點有雙向地址指針定位。
B-Tree
沒有B+Tree葉子節點的指針,不方便範圍查詢。
注:1.樹結構默認左節點小於父節點,右節點大於父節點。
2.mysql庫中表沒有建主鍵索引會默認自己找一個唯一字段建索引,如果沒有會新建一個字段維護一個索引結構在後臺。