亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

詳解MySQL中InnoDB的存儲文件

2024-07-25 19:08:04
字體:
來源:轉載
供稿:網友

從物理意義上來講,InnoDB表由共享表空間文件(ibdata1)、獨占表空間文件(ibd)、表結構文件(.frm)、以及日志文件(redo文件等)組成。

1、表結構文件

在MYSQL中建立任何一張數據表,在其數據目錄對應的數據庫目錄下都有對應表的.frm文件,.frm文件是用來保存每個數據表的元數據(meta)信息,包括表結構的定義等,.frm文件跟數據庫存儲引擎無關,也就是任何存儲引擎的數據表都必須有.frm文件,命名方式為數據表名.frm,如user.frm. .frm文件可以用來在數據庫崩潰時恢復表結構。

2、表空間文件

(1)表空間結構分析

以下為InnoDB的表空間結構圖:

MySQL,InnoDB,存儲文件

數據段即B+樹的葉子節點,索引段即為B+樹的非葉子節點InnoDB存儲引擎的管理是由引擎本身完成的,表空間(Tablespace)是由分散的段(Segment)組成。一個段(Segment)包含多個區(Extent)。

區(Extent)由64個連續的頁(Page)組成,每個頁大小為16K,即每個區大小為1MB,創建新表時,先使用32頁大小的碎片頁存放數據,使用完后才是區的申請(InnoDB最多每次申請4個區,保證數據的順序性能)
頁類型有:數據頁、Undo頁、系統頁、事務數據頁、插入緩沖位圖頁、以及插入緩沖空閑列表頁。

(2)獨占表空間文件

若將innodb_file_per_table設置為on,則系統將為每一個表單獨的生成一個table_name.ibd的文件,在此文件中,存儲與該表相關的數據、索引、表的內部數據字典信息。

(3)共享表空間文件

在InnoDB存儲引擎中,默認表空間文件是ibdata1(主要存儲的是共享表空間數據),初始化為10M,且可以擴展,如下圖所示:

MySQL,InnoDB,存儲文件

實際上,InnoDB的表空間文件是可以修改的,使用以下語句就可以修改:

Innodb_data_file_path=ibdata1:370M;ibdata2:50M:autoextend

使用共享表空間存儲方式時,Innodb的所有數據保存在一個單獨的表空間里面,而這個表空間可以由很多個文件組成,一個表可以跨多個文件存在,所以其大小限制不再是文件大小的限制,而是其自身的限制。從Innodb的官方文檔中可以看到,其表空間的最大限制為64TB,也就是說,Innodb的單表限制基本上也在64TB左右了,當然這個大小是包括這個表的所有索引等其他相關數據。

而在使用單獨表空間存儲方式時,每個表的數據以一個單獨的文件來存放,這個時候的單表限制,又變成文件系統的大小限制了。

以下即為不同平臺下,單獨表空間文件最大限度。

Operating System File-size Limit
Win32 w/ FAT/FAT32 2GB/4GB
Win32 w/ NTFS 2TB (possibly larger)
Linux 2.4+ (using ext3 file system) 4TB
Solaris 9/10 16TB
MacOS X w/ HFS+ 2TB
NetWare w/NSS file system 8TB

※ 以下是MySQL文檔中的內容:

Windows用戶請注意: FAT和VFAT (FAT32)不適合MySQL的生產使用。應使用NTFS。

(4)共享表空間與獨占表空間

共享表空間以及獨占表空間都是針對數據的存儲方式而言的。

共享表空間: 某一個數據庫的所有的表數據,索引文件全部放在一個文件中,默認這個共享表空間的文件路徑在data目錄下。 默認的文件名為:ibdata1 初始化為10M。

獨占表空間: 每一個表都將會生成以獨立的文件方式來進行存儲(.ibd文件,這個文件包括了單獨一個表的數據內容以及索引內容)。

1)存儲內容比較

使用獨占表空間之后:

每個表對應的數據、索引和插入緩沖 存放在獨占表空間(.idb文件)

每個表對應的撤銷(undo)信息,系統事務信息,二次寫緩沖等還是存放在了原來的共享表空間內(ibdata1文件)

2)特點比較

具體的共享表空間和獨立表空間優缺點如下:

共享表空間:

優點:

可以放表空間分成多個文件存放到各個磁盤上(表空間文件大小不受表大小的限制,如一個表可以分布在不同的文件上)。

數據和文件放在一起方便管理。

缺點:

所有的數據和索引存放到一個文件中,則將有一個很常大的文件,雖然可以把一個大文件分成多個小文件,但是多個表及索引在表空間中混合存儲,這樣對于一個表做了大量刪除操作后表空間中將會有大量的空隙,特別是對于統計分析,日志系統這類應用最不適合用共享表空間。

獨立表空間:(在配置文件(my.cnf)中設置 innodb_file_per_table)

優點:

  1. 每個表都有自已獨立的表空間。
  2. 每個表的數據和索引都會存在自已的表空間中。
  3. 可以實現單表在不同的數據庫中移動。
  4. 空間可以回收

對于使用獨立表空間的表,不管怎么刪除,表空間的碎片不會太嚴重的影響性能,而且還有機會處理。

a)Drop table操作自動回收表空間

b)如果對于統計分析或是日值表,刪除大量數據后可以通過:alter table TableName engine=innodb;回縮不用的空間。

c) 對于使innodb-plugin的Innodb使用truncate table也會使空間收縮。

5、在服務器資源有限,單表數據不是特別多的情況下, 獨立表空間明顯比共享方式效率更高 . 但是MySQL 默認是共享表空間 。

缺點:

單表體積可能過大,如超過100個G。

3)共享表空間以及獨占表空間之間的轉化

修改獨占空表空間配置,配置以下參數

innodb_data_home_dir = "/user/local/mysql/var" 數據庫文件所存放的目錄

innodb_log_group_home_dir = "/user/local/mysql/var" 日志存放目錄

innodb_data_file_path=ibdata1:10M:autoextend 設置配置一個可擴展大小的尺寸為10MB的單獨文件(共享數據文件),名為ibdata1。沒有給出文件的位置,所以默認的是在MySQL的數據目錄內。

innodb_file_per_table=1 是否使用共享還是獨占表空間 (1:為使用獨占表空間,0:為使用共享表空間)

查看innodb_file_per_table 變量,如果為OFF說明所使用的是共享表空間(默認情況下,所使用的表空間為共享表空間)

對innodb_file_per_table 進行修改時,對于之前使用過的共享表空間不會影響,除非手動的去進行修改

注意:

InnoDB不創建目錄,所以在啟動服務器之前請確認所配置的路徑目錄存在。

做數據的移植以及備份時,要注意數據文件的完整性.


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲激情 国产| 色噜噜狠狠狠综合曰曰曰| 亚洲色在线视频| 色yeye香蕉凹凸一区二区av| 亚洲成人亚洲激情| 日韩三级成人av网| 亚洲欧美日韩国产中文| 国产99久久久欧美黑人| yw.139尤物在线精品视频| 国产成人在线亚洲欧美| 久久好看免费视频| 4438全国亚洲精品在线观看视频| 日韩激情av在线播放| 91高清视频免费观看| 国产极品精品在线观看| 国产精品一区二区久久国产| 成人在线激情视频| 久久亚洲国产成人| 欧美午夜视频在线观看| 国产性色av一区二区| 久久久久久免费精品| 日本在线观看天堂男亚洲| 亚洲九九九在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 久久福利视频网| 国产视频精品va久久久久久| 国产自产女人91一区在线观看| 国产手机视频精品| 在线日韩中文字幕| 日韩中文字幕在线| 国产精品丝袜视频| 国产精品久久久久久久久久久久久久| 国产精品视频午夜| 亚洲精品视频免费在线观看| 国产精品久久久久久久久久久久久| 亚洲一区中文字幕| 欧洲美女7788成人免费视频| 国产精品2018| 国产91在线播放九色快色| 久久精品国产清自在天天线| 日韩国产高清污视频在线观看| 欧美日韩成人在线观看| 黑人巨大精品欧美一区二区一视频| 欧美放荡办公室videos4k| www.99久久热国产日韩欧美.com| 亚洲字幕在线观看| 久久久久国产一区二区三区| zzijzzij亚洲日本成熟少妇| 日本高清不卡的在线| 国产成人在线亚洲欧美| 久久久精品免费| 亚洲精品国产电影| 亚洲精品久久久久久久久久久久| 日韩电影在线观看永久视频免费网站| 一道本无吗dⅴd在线播放一区| 色先锋久久影院av| 欧美二区乱c黑人| 色婷婷av一区二区三区在线观看| 2018中文字幕一区二区三区| 日韩电影中文字幕av| 久久久免费电影| 欧美老少做受xxxx高潮| 日本不卡视频在线播放| 热re91久久精品国99热蜜臀| 亚洲a成v人在线观看| 亚洲国产欧美久久| 岛国av一区二区在线在线观看| 久久免费成人精品视频| 日韩欧美亚洲综合| 在线看国产精品| 奇米一区二区三区四区久久| 亚洲精品第一页| 国产精品久久久久久久av电影| 日韩精品视频三区| 91精品在线观看视频| 亚洲人av在线影院| 亚洲成人中文字幕| 国产精品成人av性教育| 亚洲国产精品电影| 国产原创欧美精品| 日本久久久a级免费| 日韩精品福利在线| 久久久久久91香蕉国产| 国产精品999| 欧美日韩在线看| 91精品国产自产在线| 久久香蕉精品香蕉| 日韩中文在线中文网三级| 91美女片黄在线观| 亚洲精品国产精品国自产观看浪潮| 亚洲天堂影视av| 一区二区福利视频| 亚洲xxxxx性| 68精品久久久久久欧美| 欧美日韩国产一中文字不卡| 98精品国产自产在线观看| 中文日韩在线视频| 欧美日韩国产成人高清视频| 国模视频一区二区| 午夜精品一区二区三区在线播放| 久久久久国色av免费观看性色| 午夜精品一区二区三区视频免费看| 亚洲一区二区三区乱码aⅴ蜜桃女| 中文一区二区视频| 亚洲三级黄色在线观看| 久久久久久久97| 在线激情影院一区| 2021国产精品视频| 国产啪精品视频网站| 久久伊人精品视频| 中文字幕亚洲无线码在线一区| 中文字幕日韩欧美| 欧美激情久久久| 成人免费大片黄在线播放| 欧洲成人性视频| 日韩精品一二三四区| 久久在线精品视频| 欧美中文在线视频| 色偷偷亚洲男人天堂| 97视频免费在线看| 日韩一级黄色av| 91欧美激情另类亚洲| 亚洲欧美日韩精品久久奇米色影视| 国产精品91视频| 91亚洲精品久久久久久久久久久久| 久久久伊人日本| 国产91在线高潮白浆在线观看| 亚洲欧美国产一本综合首页| 日韩精品极品视频免费观看| 午夜精品视频在线| 国产精品久久久av| 亚洲九九九在线观看| 精品国产一区二区三区久久久| 欧美日韩国产一区二区三区| 久久天天躁夜夜躁狠狠躁2022| 亚洲第五色综合网| 国产精品日韩在线播放| 久久精品免费电影| 91免费视频网站| 精品一区精品二区| 51精品国产黑色丝袜高跟鞋| 欧美在线激情网| 久久久久久久久久久av| 欧美老肥婆性猛交视频| 国产香蕉97碰碰久久人人| 成人黄色网免费| 国产精品主播视频| 伊人久久久久久久久久久久久| 日韩精品小视频| 欧美激情亚洲视频| 久久福利视频网| www.欧美精品| 免费不卡欧美自拍视频| 精品国产户外野外| 国内伊人久久久久久网站视频| 精品国产一区二区三区四区在线观看| 亚洲国产第一页| 亚洲欧美日韩天堂一区二区| 国产成人自拍视频在线观看| 成人午夜两性视频| 成人免费在线视频网站| 全色精品综合影院| 国外成人免费在线播放| 欧美日韩国产二区|