第四章從一條記錄說起 InnoDB的記錄儲存結構

2021-10-19 12:46:34 字數 1062 閱讀 5961

儲存引擎主要幹的工作是實現資料的讀取和寫入。

innodb是將資料儲存在磁碟中的,每次讀取或者寫入資料都會和磁碟互動,但是磁碟i/o速度很慢,所以innodb會以頁為單位來與磁碟互動,一般一頁的大小為16kb。

innodb的行格式一般有4種,分別是compact,redundant,dynamic,

compressed。

4.3.1指定行格式的語法

行格式的指定語法一般如下:

#可以在建立表的時候指定

create table 表名(屬性) row_format=行格式名稱

#也可以直接修改

alter table 表明 row_format=行格式名稱

4.3.2compact行格式

compact行格式的結構如下所示:

1、記錄的額外資訊

2、記錄的真實資料

3、char(m)列的儲存格式:當char(m)的字段採用變長編碼時,也會將其在變長字段長度列表中記錄該字段所佔的位元組數,但是如果採用定長編碼時便不會。同時,如果char(m)如果採用變長編碼的形式,其中要求該欄位至少占用m個位元組。

4.3.3redundant行格式

其中redundant沒有compact緊湊,在一般在mysql5.0之前常使用。

其行格式如下

4.3.4溢位列

當某列的資料超過臨界點時,稱之為溢位列,此時compat記錄格式會記錄該列的前768個位元組,然後用20位元組用來指向儲存剩餘資料的位址,其中剩餘資料是以鍊錶的形式儲存在其他頁中。

4.3.5dynamic格式和compressed格式

其中dynacmic格式和compact格式類似,但是在處理溢位列的時候,他不會儲存前768個位元組,而是只儲存20個位元組的指標。compressed則會採用壓縮演算法來使得儲存空間更小。

ds第四章學習記錄

串 一.定義 子串 主串 空格串 空串 堆式順序儲存結構 二.匹配 1.庫函式 strstr c c 返回字串頭指標 null 乙個乙個向前挪地比較 t o n m 最壞情況 最後乙個字元不同 2.改進 從末尾開始比 幸運 t o n t o n m 最壞情況 第乙個字元不同 3.kmp演算法 t ...

第四章總結(一)

字串string類簡介 建立陣列就很簡單了,就直接typename arrayname size 這裡的typename 可以是你自己定義的結構體,也可以是基本資料型別,然後這裡的size如果是在vs編譯器中,必須是常量或者是const變數,這裡的常量是說你直接把size寫死,比如int a 5 但...

第四章 一 需求模型

1.需求詳解 需求指的是系統的功能,但不是指系統的所有功能。需求是能給使用者帶來價值的功能,或對客戶有意義的功能 例如 atm atm的功能有很多,顯示餘額 密碼認證 入鈔 驗證鈔票真偽 點鈔 出鈔 記賬 列印憑據。這裡對客戶有意義或有價值的是 顯示餘額 入鈔 出鈔 列印憑據。而密碼認證 鈔票真偽驗...