【MySQL】lnnoDB存儲引擎你是怎么理解的?

      網友投稿 841 2025-03-31

      【MySQL】lnnoDB存儲引擎你是怎么理解的?

      InnoDB邏輯存儲單元主要分為表空間,段,區和頁

      InnoDB所有的數據都是存放在表空間的,表空間又分為系統表空間和獨立表空間

      Mysql5.7之后又多了臨時表空間和通用表空間

      其中系統表空間,主要是以ibdata1來命名。

      在安裝數據庫初始化數據庫時就是系統在創建一個ibddata1的表空間文件,它會存儲所有數據的信息以及回滾段(undo)的信息。

      innodb_data_file_path 負責定義系統表空間的路徑,初始化大小,自動擴展策略,如下:

      數據庫Mysql8中,ibdata1默認大小是12M

      mysql> show variables like '%data_file%'; +----------------------------+------------------------+ | Variable_name | Value | +----------------------------+------------------------+ | innodb_data_file_path | ibdata1:12M:autoextend | | innodb_temp_data_file_path | ibtmp1:12M:autoextend | +----------------------------+------------------------+ 2 rows in set mysql>

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      數據庫默認的自動擴展大小是64M,如下:

      innodb_autoextend_increment 默認是64M

      mysql> show variables like '%auto %'; +----------------------------------------------+-------+ | Variable_name | Value | +----------------------------------------------+-------+ | auto_generate_certs | ON | | auto_increment_increment | 1 | | auto_increment_offset | 1 | | autocommit | ON | | automatic_sp_privileges | ON | | caching_sha2_password_auto_generate_rsa_keys | ON | | innodb_autoextend_increment | 64 | | innodb_autoinc_lock_mode | 2 | | innodb_stats_auto_recalc | ON | | sha256_password_auto_generate_rsa_keys | ON | | sql_auto_is_null | OFF | +----------------------------------------------+-------+ 11 rows in set

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      mysql> show variables like '%innodb_file_per_table%'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_file_per_table | ON | +-----------------------+-------+ 1 row in set

      1

      2

      3

      4

      5

      6

      7

      默認是開啟的,如果沒有開啟設置 innodb_file_per_table=1即可。

      每個表都有自己的獨立表空間,可以實現表空間的轉移,回收表空間也特別的方便,不需要存儲在idbdata1中,獨立表空間文件存儲對應表的B+樹結構,索引以及插入緩沖等信息。 其余的信息還是存放在默認表空間里。

      缺點在于每個表都有.frm 和.ibd 兩個文件描述符,如果單標增長過快,就容易出現性能問題。

      共享表空間的數據和文件放在一起便于管理,但無法回收, 統計分析及日志類系統不太適合用共享表空間。

      表空間是由段組成的,也可以把一個表理解為一個段。通常有數據段,回滾段,索引段等。

      每個段由N個區和32個零散的頁組成,段空間擴展是以區為單位進行擴展。

      一般情況下,創建一個索引的同時會創建兩個段,分別為非子葉節點段和子葉節點段。

      一個表有4個段

      區是由連續的頁組成的,是物理上連續分配的一段空間,每個區的大小固定為1M, 區等于64個頁,也就是64*16kb=1M

      innodb的最小物理存儲分配單位是page,有數據頁,回滾頁,一般情況下,一個區由64個連續的頁組成,頁默認大小為16KB,如下表:

      innodb_page_size 16384

      mysql> show variables like '%page %'; +--------------------------------------+-----------+ | Variable_name | Value | +--------------------------------------+-----------+ | innodb_doublewrite_pages | 4 | | innodb_log_compressed_pages | ON | | innodb_max_dirty_pages_pct | 90.000000 | | innodb_max_dirty_pages_pct_lwm | 10.000000 | | innodb_page_cleaners | 1 | | innodb_page_size | 16384 | | innodb_stats_persistent_sample_pages | 20 | | innodb_stats_transient_sample_pages | 8 | | large_page_size | 0 | | large_pages | OFF | +--------------------------------------+-----------+ 10 rows in set

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      頁里面記錄的是行信息,數據在innodb里是按照行來存儲的。

      MySQL

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel2007中頁眉頁腳怎么設置呢?
      下一篇:excle表格成綠色,怎么改/
      相關文章
      亚洲综合一区二区三区四区五区| 亚洲国产成人手机在线电影bd| 亚洲日本香蕉视频观看视频| 亚洲国产精品VA在线看黑人| 亚洲人成精品久久久久| 亚洲伊人久久成综合人影院| 免费观看亚洲人成网站| 久久精品国产亚洲AV| 日韩精品亚洲专区在线影视| 亚洲男同gay片| 亚洲精品成a人在线观看夫| 亚洲欧美不卡高清在线| 亚洲av无码专区在线观看亚| 久久水蜜桃亚洲AV无码精品| 亚洲av日韩综合一区久热| 久久亚洲精品无码gv| 国产午夜亚洲精品不卡电影| 亚洲高清免费视频| 久久亚洲国产成人精品无码区| 丁香五月亚洲综合深深爱| 亚洲成AV人片在线观看ww| 亚洲av无码片在线播放| 久久精品国产亚洲AV无码娇色| 91在线精品亚洲一区二区| 亚洲日本香蕉视频| 亚洲欧美日韩中文高清www777| 人人狠狠综合久久亚洲| 国产精品久久久久久亚洲小说| 亚洲欧洲久久av| 久久久久久a亚洲欧洲aⅴ| 日韩亚洲AV无码一区二区不卡 | 亚洲天堂在线视频| 亚洲日韩国产精品第一页一区| 亚洲精品高清国产一线久久| 久久亚洲精品国产精品黑人| 亚洲第一香蕉视频| 亚洲人av高清无码| 亚洲成A人片77777国产| 久久亚洲精品无码播放| 久久国产亚洲电影天堂| 亚洲国产成人久久77|