2.1、Hash 索引
-
Hash索引適合精確查找,但是範圍查找不適合
2.2、二叉樹
-
1. 二叉樹的時間複雜度爲 O(n) -
1. 一個節點只能有兩個子節點。即度不超過2 -
1. 左子節點 小於 本節點,右子節點 大於 本節點
-
1. 根節點會隨着數據的改變而變更 -
1. 數據量越多,遍歷次數越多,IO次數就越多,就越慢(磁盤的IO由樹高決定)
2.4、B樹(二三樹)
2.5、B+樹
-
在 B+ 樹中,所有數據記錄節點都是按照鍵值的大小存放在同一層的葉子節點上,而非葉子結點只存儲key的信息,這樣可以大大減少每個節點的存儲的key的數量,降低B+ 樹的高度 -
B+ 樹葉子節點的關鍵字從小到大有序排列,左邊結尾數據都會保存右邊節點開始數據的指針。 -
B+ 樹的層級更少:相較於 B 樹 B+ 每個非葉子節點存儲的關鍵字數更多,樹的層級更少所以查詢數據更快 -
B+ 樹查詢速度更穩定:B+ 所有關鍵字數據地址都存在葉子節點上,所以每次查找的次數都相同所以查詢速度要比B樹更穩定; -
B+ 樹天然具備排序功能:B+ 樹所有的葉子節點數據構成了一個有序鏈表,在查詢大小區間的數據時候更方便,數據緊密性很高,緩存的命中率也會比B樹高。 -
B+ 樹全節點遍歷更快:B+ 樹遍歷整棵樹只需要遍歷所有的葉子節點即可,,而不需要像 B 樹一樣需要對每一層進行遍歷,這有利於數據庫做全表掃描。
聚簇索引是 MySQL 基於主鍵索引結構創建的
SELECT name FROM student WHERE name='wx'
SELECT * FROM student WHERE name='wx'
往期推薦
我終於決定要放棄 okhttp、httpClient,選擇了這個牛逼的神仙工具!賊爽
黃光裕正式獲釋,公開發表講話!
螞蟻金服開源的Ant Design 遭刪庫!
直面Java第343期:爲什麼TOMCAT要破壞雙親委派
深入併發第013期:拓展synchronized——鎖優化
如果你喜歡本文,
請長按二維碼,關注 Hollis.
轉發至朋友圈,是對我最大的支持。
點個 在看
喜歡是一種感覺
在看是一種支持
↘↘↘
本文分享自微信公衆號 - Hollis(hollischuang)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。