MySQL data page

caohongfeng666發表於2021-01-03

標籤:MySQL

標籤:MySQL 結構

標籤:MySQL data


MySQL data 物理儲存:

1. slots page director

2. 資料連結串列

3.  索引堆,以及order 順序

4. 定位檔案,定位 page,定位記錄的過程

5. 資料頁中記錄的定位過程

各個資料頁可以組成一個雙向連結串列,而每個資料頁中的記錄會按照主鍵值從小到大的順序組成一個單向連結串列,每個資料頁都會為儲存在它裡邊兒的記錄生成一個頁目錄,在透過主鍵查詢某條記錄的時候可以在頁目錄中使用二分法快速定位到對應的槽,然後再遍歷該槽對應分組中的記錄即可快速找到指定的記錄


6. page 頁的內容

一個資料頁可以被大致劃分為 7個部分,分別是


File Header,表示頁的一些通用資訊,佔固定的 38位元組。(儲存上頁和下頁的號碼,組成一個鏈的形式)

Page Header,表示資料頁專有的一些資訊,佔固定的 56個位元組。(槽的數量,頁中記錄的總數量,除去刪除的記錄和最大最小值的數量 ......

Infimum + Supremum,兩個虛擬的偽記錄,分別表示頁中的最小和最大記錄,佔固定的 26個位元組。

User Records:真實儲存我們插入的記錄的部分,大小不固定。

Free Space:頁中尚未使用的部分,大小不確定。

Page Directory:頁中的某些記錄相對位置,也就是各個槽在頁面中的地址偏移量,大小不固定,插入的記錄越多,這個部分佔用的空間越多。(記錄槽中最後一個記錄的地址)

File Trailer:用於檢驗頁是否完整的部分,佔用固定的 8個位元組。(校驗頁的完整性)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25380026/viewspace-2747127/,如需轉載,請註明出處,否則將追究法律責任。

相關文章