以下僅適用於In弄DB存儲引擎
- 表都是根據主鍵順序組織存放的(這種表稱爲索引組織表)
主鍵的確定:
顯示創建的主鍵
如果沒有顯示創建主鍵,找表中非空唯一索引
如果也沒有非空唯一索引,則自動創建一個6字節大小指針
2.InnoDB邏輯存儲結構
表空間:
默認情況下InnoDB存儲引擎有一個共享表空間ibdata1,所有數據都存放在這個表空間內;
啓用參數innobd_file_per_table,則表內的數據可以單獨放到一個表空間
(存放只是數據、索引和插入緩衝頁),其它類的數據,如回滾信息,插入緩衝索引頁等還是存放在原來的共享表空間內
段
數據段
索引段
回滾段
InnoDB存儲引擎表示索引組織的,因此數據即索引。索引即數據。數據段爲B+樹的的葉子節點,索引段爲B+樹的的非葉子節點
區
連續的頁組成的空間
頁
InnoDB常見頁類型
數據頁(B-tree Node)
undo頁(undo Log Page)
系統也(System Page)
事務數據頁(Transaction system Page)
插入緩衝位圖也(Insert Buffer Bitmap)
未壓縮的二進制大對象也(Uncompressed BLOB Page)
壓縮的二進制大對象頁(compressed BLOB Page)
行
InnoDB行記錄格式
Compact行記錄格式(MySQL5.0引入)