10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

8.4.6表大小限制

MySQL数据库的有效最大表大小通常取决于操作系统对文件大小的限制,而不是MySQL内部限制。有关操作系统文件大小限制的最新信息,请参阅特定于您的操作系统的文档。10bet官方网站

Windows用户,请注意FAT和VFAT (FAT32)是被认为适合与MySQL一起生产使用。而是使用NTFS。

如果您遇到了一个全表错误,可能有以下几个原因:

  • 磁盘可能已满。

  • 您正在使用InnoDB桌子和房间都用完了InnoDB表空间文件。最大表空间大小也是表的最大大小。有关表空间大小限制,请参见第15.22节,“InnoDB限制”

    通常,对于大于1TB的表,建议将表划分为多个表空间文件。

  • 您已达到操作系统文件大小限制。例如,你正在使用MyISAM表在一个操作系统上,它只支持2GB大小的文件,并且您已经达到了数据文件或索引文件的这个限制。

  • 您正在使用MyISAM表和表所需的空间超过了内部指针大小所允许的空间。MyISAM默认情况下允许数据和索引文件增长到256TB,但是这个限制可以更改为允许的最大大小为65,536TB (2567−1字节)。

    如果你需要MyISAM表的值大于默认限制,并且您的操作系统支持大文件创建表声明支持AVG_ROW_LENGTH而且MAX_ROWS选项。看到第13.1.20节," CREATE TABLE语句".服务器使用这些选项来决定允许多大的表。

    如果指针的大小对现有表来说太小,您可以用ALTER TABLE增加表允许的最大大小。看到第13.1.9节,“ALTER TABLE语句”

    ALTER TABLEtbl_nameMAX_ROWS = 1000000000 AVG_ROW_LENGTH =nnn

    你必须指定AVG_ROW_LENGTH仅限有文本列;在这种情况下,MySQL不能仅根据行数优化所需的空间。

    更改的默认大小限制MyISAM表、设置myisam_data_pointer_size,它设置内部行指针使用的字节数。属性时,该值用于设置新表的指针大小MAX_ROWS选择。的价值myisam_data_pointer_size取值范围为2 ~ 7。例如,对于使用动态存储格式的表,值4允许表的最大容量为4GB;值6允许表的最大容量为256TB。使用固定存储格式的表有更大的最大数据长度。有关存储格式特征,请参见第16.2.3节,“MyISAM表存储格式”

    你可以用下面的语句检查最大数据和索引大小:

    显示表状态db_name像‘tbl_name”;

    你也可以用myisamchk dv /路径/ / table-index-file.看到第13.7.7节,“SHOW语句”,或章节4.6.4,“myisamchk - MyISAM表维护工具”

    的文件大小限制的其他方法MyISAM各表如下:

  • 您正在使用内存)存储引擎;在本例中,您需要增加max_heap_table_size系统变量。看到第5.1.8节,“服务器系统变量”