MySQL data page
標籤: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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Warning:The /usr/local/mysql/data directory is not owned by the 'mysql' or '_mysql'MySql
- Data Volume 練習 MySQLMySql
- MySQL:Innodb page clean 執行緒 (二) 解析MySql執行緒
- MySQL:Innodb page clean 執行緒 (一) 基礎MySql執行緒
- mysql 在delete、insert、update 時,page的變化MySqldelete
- MySQL load data載入資料MySql
- MySQL - DDL詳解(Data Definition Language)MySql
- MySQL-DML(Data Manipulation Language)詳解MySql
- MySQL原理 - InnoDB引擎 - 行記錄儲存 - Off-page 列MySql
- mysql 5.7.21 CMake Error: The source directory "/data/server/mysql" does not appear to contain CMakMySqlErrorServerAPPAI
- MySQL:Innodb表 Data free 的計算概要MySql
- Spring Boot (五)Spring Data JPA 操作 MySQL 8Spring BootMySql
- MySQL:sending data狀態包含了什麼MySql
- MySQL的文字匯入之load data localMySql
- mysql 啟動報錯Can't connect to local MySQL server through socket '/data/mysql/mysql/mysql.sock'(111)MySqlServer
- Mysq-造數工具mysql_random_data_loadMySqlrandom
- Mendix Page Template
- create-a-page
- MySQL 8.0 Reference Manual(讀書筆記78節-- InnoDB Table and Page Compression (1))MySql筆記
- MySQL 8.0 Reference Manual(讀書筆記79節-- InnoDB Table and Page Compression (2))MySql筆記
- Spring Data R2DBC響應式操作MySQLSpringMySql
- MySQL 8.0.26 bug ERROR 1064(42000) -master-data is deprecated and will be removeMySqlErrorASTREM
- 開源量化框架backtrader FAQ:開發MySQL data feed框架MySql
- Page Visibility API 教程API
- Page Lifecycle API 教程API
- NGINX error_pageNginxError
- MySQL中的DDL(Data Definition Language,資料定義語言)MySql
- Big Data and Data Warehousing
- 什麼是前端開發領域的 Page Blink 和 Page Flicker前端
- 異構資料庫資料遷移 oracle to mysql之oracle sqlloader和mysql load data資料庫OracleMySql
- Mysql資料庫data目錄下的mysql-bin.00000X可以刪除嗎?MySql資料庫
- Page Object設計模式Object設計模式
- Landing Page 製作指南
- MySQL 8.0 Reference Manual(讀書筆記41節-- Data Types(3))MySql筆記
- MySQL 8.0 Reference Manual(讀書筆記40節-- Data Types(2))MySql筆記
- MySQL 8.0 Reference Manual(讀書筆記39節-- Data Types(1))MySql筆記
- Apache2 Ubuntu Default PageApacheUbuntu
- CSS @page語法規則CSS