实这个问题要拆分成两个问题。
第一是操作系统所采用的文件系统能支持的单个文件大小,比如:
linux2.2-intel32-bit(ext2文件系统)最大支持2GB
linux2.4+(ext3文件系统)支持4TB
win32(fat32文件系统)4GB
win32(ntfs文件系统)2TB
第二是存储引擎本身能支持的最大空间大小。比如
InnoDB存储引擎的表空间最大容量为64TB,不具体限制单表的大小,但受限于表空间。
MyISAM
最大表尺寸为65536TB,但是在MySQL5.0版本之前,默认情况下,MyISAM单个表允许的最大尺寸为4GB,你可以通过SHOW
TABLESTATUS语句或myisamchk-dvtbl_name检查表的最大尺寸,如果是4G,可以通过修改
AVG_ROW_LENGTH和MAX_ROWS选项的值来达到目的。MySQL5.0版本后,默认MyISAM表的限制是256TB。