Mysql之InnoDB儲存引擎的邏輯儲存結構

2021-10-02 09:31:19 字數 1894 閱讀 7738

1.mysql 的儲存結構分為 5 級:表空間、段、簇、頁、行

1.表空間可以看做是innodb 儲存引擎邏輯結構的最高層,所有的資料都存放在表空間中。

2.表空間分為:系統表空間、獨佔表空間、通用表空間、 臨時表空間、undo 表空間。

參考 下面的mysql innodb 磁碟儲存結構中對錶空間的介紹

1.建立乙個索引會建立兩個段,乙個是索引段:leaf node segment,乙個是資料段: non-leaf node segment。

2. 段的數量是由索引的數量決定的,也就是說,乙個表的段數,就是索引的個數乘以 2。

3. 段的空間大小是可以無限擴充套件的;

1.乙個段(segment)又由很多的簇(也可以叫區)組成,每個區的大小是 1mb(64 個連續的頁)。 

2.extent的個數擴充套件是由段的記憶體大小去決定的;

1.為了高效管理物理空間,對簇進一步細分,就得到了頁。

2.簇是由連續的頁(page) 組成的空間,預設每個頁的儲存大小為16k

(1024*16

=16384

byte位元組),乙個簇中有 64 個連續的頁。

(1mb/16kb=

64)。這些頁面在物理上和邏輯上都是連續的。

檢視當前每個頁的儲存大小

1.乙個表空間最多擁有 2

^32 個頁,預設情況下乙個頁的大小為 16kb,也就是說乙個 表空間最多儲存 64tb 的資料。

innodb 儲存引擎是面向行的(row-oriented),也就是說資料的存放按行進行存放。
檢視資料和索引儲存占用的磁碟空間大小

20 筆記 MySQL學習 InnoDB儲存引擎

20.筆記 mysql學習 innodb儲存引擎 innodb儲存引擎是mysql的預設引擎。有幾項功能 n 其表在執行提交和回滾操作時是事務安全的。n 在系統崩潰後可以自動恢復 n 外來鍵和引用完整性支援,包括級聯刪除和更新 n 基於行級別的鎖定和多版本化 n 從mysql 5.6開始,innod...

Mysql中MyISAM與InnoDB引擎的區別

innodb mysql 5.5.5版本之後為預設儲存引擎。innodb 是乙個事務安全 與 acid 相容 的mysql儲存引擎,它具有提交 回滾和崩潰恢復功能來保護使用者資料。innodb 行級鎖 不公升級為更粗粒度的鎖 和 oracle風格的一致非鎖讀提高了多使用者併發性和效能。innodb ...

MySQL中MyISAM和InnoDB引擎的區別

區別 1.innodb支援事務,myisam不支援,對於innodb每一條sql語言都預設封裝成事務,自動提交,這樣會影響速度,所以最好把多條sql語言放在begin和commit之間,組成乙個事務 2.innodb支援外來鍵,而myisam不支援。對乙個包含外來鍵的innodb表轉為myisam會...