Mysql詳解--知識整理
阿新 • • 發佈:2020-12-02
【持續更新,自己整理用】
B-Tree 與 B+Tree
- B樹索引最通俗易懂的介紹 - xiaohouye - 部落格園 (cnblogs.com)
- B樹非葉子節點由關鍵字+ 資料組成,所以遍歷過程中就能獲取到資料。而B+樹的節點都會出現在葉子節點,非葉子節點只有關鍵字,資料全部在葉子節點。並且葉子節點間有指標連線
- 在計算機中磁碟儲存資料最小單元是扇區,一個扇區的大小是 512 位元組,而
檔案系統
(例如XFS/EXT4)他的最小單元是塊
,一個塊的大小是 4k,而對於我們的 InnoDB 儲存引擎也有自己的最小儲存單元——頁
(Page),一個頁的大小是 16K。 - 為什麼關係型資料庫B+Tree來儲存資料:
InnoDB也有頁的概念,預設頁的大小為16K,即每次讀取資料時是4*4K。
。資料庫頁的分裂如下:1-10的資料原本儲存在Page1中,只有一個頁,後來因為添加了11,一個頁裝不下了,需要分裂。分裂是將原來的頁複製到一個新的頁,然後將原來的頁設定為根節點,成為了不存放資料,而是隻存放關鍵字的頁,然後再新建一個頁放多出來的那個11。分裂後有了3個頁。
- 將原來根節點的資料複製到新的一頁,而不是直接建立一個新的頁作為根節點,是因為:如果是重新建立根結點,那根結點儲存的實體地址可能經常會變,不利於查詢。並且在