1.段段是表空間檔案中的主要組織結構,它是物理上的管理物理空間的乙個邏輯概念,它是構成索
引,表,回滾段的基本元素,建立乙個索引(b樹)時會同時建立兩個段,分別是內節點段和葉
子段,內節點段用來管理(儲存)b樹中非葉子節點(頁面)的資料,葉子段用來管理(儲存)b樹中
葉子節點的資料.
乙個段由乙個inode節點來管理這個段下面的所有的簇(extend).
2.簇簇是構成段的基本元素,乙個段是由若干個簇構成的,乙個簇是物理上連續分配的一段空間,
每乙個段至少會有乙個簇,在建立乙個段的時候會建立乙個預設的簇,如果資料在儲存時乙個
簇已經不足以放得到更多的資料,此時需要從這個段中分配乙個新的簇,來存放新的資料,
段對多個簇的管理後面會做更詳細的介紹.
3.頁面
頁面是資料庫中檔案管理的最小無素,也是檔案中空間分配的最小單位,也是構成簇的基本
元素,乙個簇中可以包括多個頁面(預設為64個頁面),這個頁面數通常被叫做"簇的大小",
這些頁面都是歸這個簇管理的,這些頁面在邏輯上(頁面號都是從小到大連續的)及物理上都
是連續的,在向表中插入資料的時如果乙個頁面已經被寫完,則系統會從當前簇中分配乙個新
的空閒頁面出來使用,如果當前簇中的64個頁面都被分配完,系統會從當前頁面所在段中分配
乙個新的簇,然後再從這個簇中分配乙個新的頁面都使用,依此類推.更簡單的說,表空間文
件就是被劃分成相等長度的塊,每乙個塊就是乙個頁面,乙個頁面預設為16kb.
InnoDB資料頁結構
file header 檔案頭 page header 頁頭 infimun和supermum records user records 使用者記錄,即行記錄 free space 空閒空間 page directory 頁目錄 file trailer 檔案結尾資訊 file header pag...
InnoDB 鎖數管理據結構
lock bitmap用於表示行鎖,緊鄰lock struct存放,每bit代表頁內1行資料,使用heap no對應 例如bitmap的第5位如果啟用,則表明heap no 5的行被鎖定.隱式鎖 cluster index 隱式鎖是邏輯上的乙個概念,判斷乙個記錄是否有隱式鎖是通過記錄中的trx id...
mysql 髒頁重新整理 InnoDB髒頁重新整理機制
我們知道innodb採用write ahead log策略來防止宕機資料丟失,即事務提交時,先寫重做日誌,再修改記憶體資料頁,這樣就產生了髒頁。既然有重做日誌保證資料永續性,查詢時也可以直接從緩衝池頁中取資料,那為什麼還要重新整理髒頁 到磁碟呢?如果重做日誌可以無限增大,同時緩衝池足夠大,能夠快取所...