色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql數據頁數據結構源碼

劉姿婷2年前10瀏覽0評論

MySQL是一種開源關系型數據庫管理系統,數據庫管理系統可以存儲、操作和管理數據庫中的數據。其中,MySQL數據頁數據結構是非常重要的數據結構之一,他是用來存儲和管理表中的數據的。

typedef struct st_page_header {
LPCU_T_HDR	phead; /* Page header end */
byte	page_type; /* Type of page */
byte	page_level; /* Level of page */
ushort	n_recs; /* Number of records on page */
ushort	free_ptr; /* Byte offset of free area pointer */
ushort	garbage_ptr; /* Byte offset of garbage pointer */
ushort	last_insert; /* Byte offset to last insert */
ulong	copy_buf_size; /* Size of buffer for page rebuild */
/**< Compression header for compressed pages */
LZ4_COMPRESS	compressed_page; /* Storage for compressed page */
} PAGE_HEADER;

MySQL數據頁數據結構是由由page_header和record數組構成的一個結構體。其中,page_header記錄了數據頁的基本信息,包括page_type(數據頁類型)、 page_level(數據頁級別)、 n_recs(數據頁中記錄的數量)、 free_ptr(數據頁自由空間指針)等。而record數組就是用來保存實際的數據。每個record就是一行數據,由多個字段組成。此處在record中的存儲順序與表的定義順序一致。

在數據頁中,數據以insert-order(插入順序)存儲,也就是說,每次插入一行數據,就會存儲在上一行數據之后,所以數據頁中的記錄不會按照主鍵或索引建立排序,但這并不妨礙MySQL在執行查詢時快速定位到對應的記錄。