最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

InnoDB存儲(chǔ)引擎中的表空間詳解

 更新時(shí)間:2023年09月11日 11:17:05   作者:silmeweed  
這篇文章主要介紹了InnoDB存儲(chǔ)引擎中的表空間詳解,表空間內(nèi)部,所有頁(yè)按照區(qū)extent為物理單元進(jìn)行劃分和管理,extent由64個(gè)物理連續(xù)的頁(yè)組成,表空間可以理解為由一個(gè)個(gè)物理相鄰的extent組成,需要的朋友可以參考下

一、InnoDB體系結(jié)構(gòu):

二、表空間文件:

  • system tablespace(系統(tǒng)表空間)(ibdata1...ibdataN文件) 
  • file-per-table tablespace(單表表空間)(.ibd表空間文件)
  • general tablespace(通用表空間):  (5.7版本引入在滿足一定約束條件下,可以將多個(gè)表創(chuàng)建到同一個(gè)文件中)
  • temporary tablespace: 臨時(shí)表空間文件用于存儲(chǔ)所有非壓縮的臨時(shí)表,第1~32個(gè)臨時(shí)表專用的回滾段也存放在該文件中(itbmp1)。
  • undo tablespaces: 由innodb_undo_tablespaces配置。默認(rèn)情況下,該值為0,即undo數(shù)據(jù)是存儲(chǔ)在ibdata中。
  • redo log: 在所有數(shù)據(jù)變更前,先寫(xiě)redo日志(ib_logfile0,ib_logfile1)。

只有system tablespace和temporary tablespace是共享的,其它是非共享的tablespace。

表空間內(nèi)部,所有頁(yè)按照區(qū)(extent)為物理單元進(jìn)行劃分和管理。extent由64個(gè)物理連續(xù)的頁(yè)組成,表空間可以理解為由一個(gè)個(gè)物理相鄰的extent組成。

2.1 Table Space ID 分布

  • 0x0 : SYSTEM_TABLE_SPACE
  • 0x1 ~ 0xFFF9E108: USER SPACE 0xFFF9E
  • 108 ~ 0xFFFFFB88: session temp table
  • 0xFFFFFF70 ~ 0xFFFFFFEF: undo tablespace ID
  • 0xFFFFFFF0: redo log pseudo-tablespace
  • 0xFFFFFFF1: checkpoint file space
  • 0xFFFFFFFD: innodb_temporary tablespace
  • 0xFFFFFFFE: data dictionary tablespace
  • 0xFFFFFFFF : invalid space

系統(tǒng)表空間ibdata雖然包括不同文件ibdata1, ibdata2…,但這些文件邏輯上是相連的,這些文件同屬于space_id為0的表空間。用戶創(chuàng)建表產(chǎn)生的ibd文件,則認(rèn)為是一個(gè)獨(dú)立的tablespace,只包含一個(gè)文件。

2.2 tablespace相關(guān)設(shè)置

#1.DATA STORAGE
datadir=/var/lib/mysql 
#2.InnoDB Configuration 
innodb_file_per_table=1
#3.InnoDB Memory 
innodb_buffer_pool_size = 2000M
#4.System Tablespace configuration
innodb_data_file_path= ibdata1:512M;ibdata2:512M:autoextend
#5.Redo log and buffer configuration
innodb-log-files-in-group=3
innodb_log_file_size=100M
innodb_log_buffer_size=30M
#5.InnoDB file formate 
innodb_file_format = Barracuda
#6.UNDO Tablespace Configuration 
innodb_undo_directory = /var/lib/mysql/ 
innodb_undo_tablespaces = 3 
innodb_undo_logs = 128 
innodb_undo_log_truncate = ON 
innodb_rollback_segments = 128
#7.Temp Tablespace Configuration 
tmpdir = /var/lib/mysql/ 
innodb_temp_data_file_path = ibtmp1:20M:autoextend 
#8.tablespace 數(shù)據(jù)加密插件,在Enterprise版本中提供 #Keyring configuration 
early-plugin-load=keyring_file.so 
keyring_file_data=/var/lib/mysql-keyring/keyring

2.3 The System Tablespace(系統(tǒng)表空間)

  • 數(shù)據(jù)字典:  各表的元數(shù)據(jù)(表結(jié)構(gòu),索引,列信息等)
  • 變更緩沖區(qū):(IBUF bitmap)
  • 雙寫(xiě)緩沖區(qū):(double write)
  • 撤銷日志undo:(如果自定義了UNDO表空間,在系統(tǒng)表空間的UNDO log也就會(huì)失效)
  • 表數(shù)據(jù)(索引數(shù)據(jù)),(末開(kāi)始獨(dú)享表空間或指定保存到系統(tǒng)表空間)
  • 一個(gè)或多個(gè)文件ibdataN:文件的大小和數(shù)量配置控制:innodb_data_file_path=ibdata1:500M:ibdata2:12M:autoextend:max:500M
# innochecksum --page-type-summary ibdata1 
File::ibdata1
================PAGE TYPE SUMMARY==============
#PAGE_COUNT     PAGE_TYPE
===============================================
  349391        Index page                        5.25%
 6076813        Undo log page                    91.29%
   18349        Inode page                        0.28%
  174659        Insert buffer free list page      2.62%
   36639        Freshly allocated page            0.55%
     405        Insert buffer bitmap              0.01%
      98        System page
       1        Transaction system page
       1        File Space Header
     404        Extent descriptor page            0.01%
       0        BLOB page
       8        Compressed BLOB page
       0        Other type of page
-------------------------------------------------------
 6656768        Pages total                     100.00%
===============================================
Additional information:
Undo page type: 3428 insert, 6073385 update, 0 other
Undo page state: 1 active, 67 cached, 249 to_free, 1581634 to_purge, 0 prepared, 4494862 other

2.4 File-Per-Table Tablespaces(單表表空間 )  

  •  每個(gè)表都存儲(chǔ)在自己的表空間數(shù)據(jù)文件(.ibd文件)中。(由innodb_file_per_table配置選項(xiàng)控制,默認(rèn)情況下該選項(xiàng)是開(kāi)啟的)。
  • 用戶創(chuàng)建表產(chǎn)生的ibd文件,則認(rèn)為是一個(gè)獨(dú)立的tablespace,只包含一個(gè)文件。
  • 除了數(shù)據(jù)頁(yè)、索引頁(yè)外,文件中還包含了多種管理頁(yè)。

2.5 Undo tablespace

UNDO表空間用于存放一個(gè)或多個(gè)UNDO log文件。UNDO通過(guò)保留活動(dòng)事務(wù)(MVCC)的已修改未提交數(shù)據(jù)來(lái)保證讀一致性。 從此存儲(chǔ)區(qū)域檢索未修改的數(shù)據(jù)。UNDO log也稱為回滾段。默認(rèn)情況下,UNDO表空間是系統(tǒng)表空間的一部分,當(dāng)然從MySQL5.6開(kāi)始也允許用戶自定義一個(gè)UNDO表空間,需要注意的是:

  • 如果自定義了UNDO表空間,在系統(tǒng)表空間的UNDO log也就會(huì)失效
  • 這一配置需要在MySQL初始化之前完成
  • 可以truncate但不能drop,如果要使用truncate的話則UNDO表空間必須已經(jīng)獨(dú)立于系統(tǒng)表空間
  • 默認(rèn)大小10M
  • 相關(guān)參數(shù)
innodb_undo_tablespace : Number of undo tablespaces, default 0 , max 95 
innodb_undo_directory : Location for undo tablespace,default is data_dir with 10MB initial size.
innodb_undo_logs : Number of undo logs in a single undo tablespace, default and max value is ‘128' [ Deprecated in 5.7.19 , innodb_rollback_segments variable will control this]    
innodb_undo_log_truncate: truncate undo tablespace, Default OFF  

2.6 Temporary tablespace

保存和檢索臨時(shí)表已修改未提交的數(shù)據(jù)和相關(guān)的對(duì)象,始于MySQL5.7.2,server運(yùn)行時(shí)用于回滾臨時(shí)表的修改。

  • 臨時(shí)表的UNDO log存在于臨時(shí)表空間
  • server啟動(dòng)時(shí),默認(rèn)的臨時(shí)表空間文件ibtmp1會(huì)被重新創(chuàng)建
  • 優(yōu)點(diǎn):臨時(shí)表的REDO log I/O被消除,性能得以提升
  • 相關(guān)參數(shù) innodb_temp_data_file_path = ibtmp1:12M:autoextend (default)

2.7 General tablespace

用戶定義表空間,用戶可以用CREATE TABLESPACE的語(yǔ)法來(lái)創(chuàng)建自定義的表空間,并在創(chuàng)建表的時(shí)候指定該表所屬的表空間。優(yōu)點(diǎn):

  • 比innodb_file_per_table更有存儲(chǔ)上(Memory)的優(yōu)勢(shì)
  • 支持Antelope和Barracuda文件格式
  • 支持所有行格式以及相關(guān)特性
  • 支持在非數(shù)據(jù)目錄的目錄下創(chuàng)建
  • NOTE: tablespace名是大小寫(xiě)敏感的

到此這篇關(guān)于InnoDB存儲(chǔ)引擎中的表空間詳解的文章就介紹到這了,更多相關(guān)InnoDB表空間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mysql的timeout以及python重連方式

    Mysql的timeout以及python重連方式

    這篇文章主要介紹了Mysql的timeout以及python重連方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 深入講解MySQL Innodb索引的原理

    深入講解MySQL Innodb索引的原理

    這篇文章主要給大家介紹了關(guān)于MySQL Innodb索引原理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • MySQL中union和union all區(qū)別

    MySQL中union和union all區(qū)別

    今天和大家聊一聊,面試中可能遇到的一個(gè)知識(shí)點(diǎn),就是union與union all的區(qū)別,具有一定的參考價(jià)值,對(duì)面試和知識(shí)總結(jié)有一定的幫助,感興趣的可以了解一下
    2023-08-08
  • CentOS7環(huán)境下MySQL8常用命令小結(jié)

    CentOS7環(huán)境下MySQL8常用命令小結(jié)

    在進(jìn)行MySQL的優(yōu)化之前必須要了解的就是MySQL的查詢過(guò)程,下面這篇文章主要給大家介紹了關(guān)于CentOS7環(huán)境下MySQL8常用命令的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • 遠(yuǎn)程無(wú)法連接Linux上MySQL的問(wèn)題解決辦法

    遠(yuǎn)程無(wú)法連接Linux上MySQL的問(wèn)題解決辦法

    MySQL不允許遠(yuǎn)程連接的問(wèn)題通??梢酝ㄟ^(guò)配置用戶權(quán)限、修改MySQL配置文件以及調(diào)整系統(tǒng)防火墻設(shè)置來(lái)解決,這篇文章主要介紹了遠(yuǎn)程無(wú)法連接Linux上MySQL的問(wèn)題解決辦法,需要的朋友可以參考下
    2025-09-09
  • SQL替換字符串值的5種常用方法

    SQL替換字符串值的5種常用方法

    這篇文章主要給大家介紹了關(guān)于SQL替換字符串值的5種常用方法,常用SQL的朋友應(yīng)該知道,SQL中一般都會(huì)提供一些字符串處理函數(shù),需要的朋友可以參考下
    2023-08-08
  • MySQL中去重處理的方法小結(jié)

    MySQL中去重處理的方法小結(jié)

    本文主要介紹了MySQL中去重方法小結(jié),包含DISTINCT、GROUPBY、聚合函數(shù)、子查詢、臨時(shí)表、窗口函數(shù)、GROUP_CONCAT這些方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • MySQL Order By用法分享

    MySQL Order By用法分享

    本文用實(shí)例一點(diǎn)一點(diǎn)告訴你,MySQL order by的用法
    2012-07-07
  • mysql創(chuàng)建用戶并賦予用戶權(quán)限詳細(xì)操作教程

    mysql創(chuàng)建用戶并賦予用戶權(quán)限詳細(xì)操作教程

    這篇文章主要給大家介紹了關(guān)于mysql創(chuàng)建用戶并賦予用戶權(quán)限詳細(xì)操作的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • MySQL 數(shù)據(jù)庫(kù)兩臺(tái)主機(jī)同步實(shí)戰(zhàn)(linux)

    MySQL 數(shù)據(jù)庫(kù)兩臺(tái)主機(jī)同步實(shí)戰(zhàn)(linux)

    MySQL支持單向、異步復(fù)制,復(fù)制過(guò)程中一個(gè)服務(wù)器充當(dāng)主服務(wù)器,而一個(gè)或多個(gè)其它服務(wù)器充當(dāng)從服務(wù)器。主服務(wù)器將更新寫(xiě)入二進(jìn)制日志文件,并維護(hù)日志文件的一個(gè)索引以跟蹤日志循環(huán)。
    2009-04-04

最新評(píng)論

孟州市| 融水| 静乐县| 翁牛特旗| 河东区| 遂溪县| 营口市| 崇仁县| 碌曲县| 禹州市| 资兴市| 汝州市| 贡山| 木兰县| 仪陇县| 迁安市| 凤阳县| 麻城市| 正安县| 天门市| 义乌市| 彰化市| 互助| 宝山区| 井冈山市| 白城市| 靖江市| 信阳市| 洪泽县| 宜川县| 汽车| 玉环县| 静宁县| 湘西| 阳朔县| 五家渠市| 邯郸县| 浦县| 彭阳县| 拜泉县| 正宁县|