InnoDB資料表空間、段、區簡述

來源:互聯網
上載者:User

InnoDB資料表空間、段、區簡述

1. 資料表空間是InnoDB儲存引擎邏輯結構的最高層,所有的資料都存放在資料表空間中。預設,InnoDB儲存引擎只有一個資料表空間ibdata1,即所有資料都存放在這個資料表空間內。如果使用者啟用了參數innodb_file_per_table,則每張表內的資料可以單獨放到一個資料表空間內。

如果啟用了innodb_file_per_table參數,每張表的資料表空間記憶體放的只是資料、索引和插入緩衝Bitmap頁,其他資料,如undo log,插入緩衝索引頁,系統事務資訊,二次寫緩衝等還是存放在原來的共用資料表空間內。

2. 常見的段有資料區段,索引段,復原段等。

資料區段:B+樹的分葉節點。

索引段:B+樹的非分葉節點。

復原段:即rollback segment,管理undo log segment。

3. 區是由連續頁組成的空間,區的大小固定為1M。預設,InnoDB儲存引擎頁的大小為16K,即一個區中有64個連續的頁。

Create table test(
  Col1 int not null auto_increment,
  Col2 varchar(7000),
  Primary key(col1)
);

建立test表,將Col2欄位設為varchar(7000),保證一頁最多存放2條記錄。通過ls命令發現資料表空間預設為96K。

查看mysql的資料目錄:

Select @@datadir;

system ls -lh /var/lib/mysql/db_zhang/test.ibd

本文永久更新連結地址:https://www.bkjia.com/Linux/2018-03/151175.htm

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.