MySQL MyISAM引擎和InnoDB引擎對於單表大小限制的總結

chenfeng發表於2017-04-19
MyISAM引擎:
預設情況下,MySQL建立的MyISAM表允許的最大尺寸為4GB。你可以使用SHOW TABLE STATUS語句或myisamchk -dv tbl_name檢查表的最大尺寸。 
如果需要使用大於4GB的MyISAM表(而且你的作業系統支援大檔案),可使用允許AVG_ROW_LENGTH和MAX_ROWS選項的CREATE TABLE語句。建立了表後,也可以使用ALTER TABLE更改這些選項,以增加表的最大允許容量。

InnoDB引擎:
當使用共享表空間儲存方式的時候,Innodb的所有資料儲存在一個單獨的表空間裡面,而這個表空間可以由很多個檔案組成,一個表可以跨多個檔案存在,所以其大小限制不再是檔案大小的限制,而是其自身的限制。從Innodb的官方文件中可以看到,其表空間的最大限制為64TB,也就是說,Innodb的單表限制基本上也在64TB左右了,當然這個大小是包括這個表的所有索引等其他相關資料。 
而當使用獨享表空間來存放Innodb的表的時候,每個表的資料以一個單獨的檔案來存放,這個時候的單表限制,又變成檔案系統的大小限制了。 



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2137591/,如需轉載,請註明出處,否則將追究法律責任。

相關文章