mysql InnoDB記錄結構

先鞏固一下計算機的基礎概念:

位 (計算機術語)
數據存儲的最小單位。在計算機中的二進制數系統中,位,簡記爲b,也稱爲比特,每個0或1就是一個位(bit)。計算機中的CPU位數指的是CPU一次能處理的最大位數。

計算機使用電流高低來標識0和1,一個位可以標識0或者1。通過不同的位組合就可以表示不同的含義。

  1. 字節

字節(Byte )是計算機信息技術用於計量存儲容量的一種計量單位,作爲一個單位來處理的一個二進制數字串,是構成信息的一個小單位。最常用的字節是八位的字節,即它包含八位的二進制數。

計算機想要表示255,先轉成二進制1111 1111,然後一個字節包含8位,所以可以很方便用一個字節表示從0到255。

  1. 字符集

字符(Character)是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數字等。字符集(Character set)是多個字符的集合,字符集種類較多,每個字符集包含的字符個數不同,常見字符集名稱:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。計算機要準確的處理各種字符集文字,就需要進行字符編碼,以便計算機能夠識別和存儲各種文字。中文文字數目大,而且還分爲簡體中文和繁體中文兩種不同書寫規則的文字,而計算機最初是按英語單字節字符設計的,因此,對中文字符進行編碼,是中文信息交流的技術基礎。

接下來INNODB的記錄結構:

1.InnoDB 是一個存儲引擎,負責和磁盤打交道,讀取我們需要的數據和寫入工作。

2.InnoDB讀取的單位是頁。數據是存儲在磁盤上的,我們處理時是需要加載到內存中的,如果按記錄的格式,以行爲單位,一條條的讀,太慢了。所以innodb採用頁作爲讀取的基礎單位,也就是說最少讀取1頁數據到內存,最少寫入1頁數據到磁盤。1頁的大小是16k。至於爲什麼是16k ,官網上有解釋(The default 16KB page size or larger is appropriate for a wide range of workloads, particularly for queries involving table scans and DML operations involving bulk updates)。

InnoDB行格式

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章