您好,欢迎访问一九零五行业门户网

MySQL单表可以多大_MySQL

bitscn.com
在老版本的mysql 3.22中,mysql的单表限大小为4gb,当时的mysql的存储引擎还是isam存储引擎。但是,当出现myisam存储引擎之后,也就是从mysql 3.23开始,mysql单表最大限制就已经扩大到了64pb了(官方文档显示)。也就是说,从目前的技术环境来看,mysql数据库的myisam存储 引擎单表大小限制已经不是有mysql数据库本身来决定,而是由所在主机的os上面的文件系统来决定了。
而mysql另外一个最流行的存储引擎之一innodb存储数据的策略是分为两种的,一种是共享表空间存储方式,还有一种是独享表空间存储方式。
当使用共享表空间存储方式的时候,innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所 以其大小限制不再是文件大小的限制,而是其自身的限制。从innodb的官方文档中可以看到,其表空间的最大限制为64tb,也就是说,innodb的单 表限制基本上也在64tb左右了,当然这个大小是包括这个表的所有索引等其他相关数据。
而当使用独享表空间来存放innodb的表的时候,每个表的数据以一个单独的文件来存放,这个时候的单表限制,又变成文件系统的大小限制了。
以下是从收集到的一点信息,不一定全部准确:
操作系统                                    大小限制
win32 w/ fat/fat32              2gb/4gb
win32 w/ ntfs                      2tb(可能更大)
linux 2.2-intel 32-bit            2gb (lfs: 4gb)
linux 2.4+                            4tb(ext3)
solaris 9/10                         16tb
netware w/nss filesystem  8tb
macos x w/ hfs+               2tb
以下是mysql文档中的内容:
windows用户请注意:fat和vfat (fat32)不适合mysql的生产使用。应使用ntfs。
在默认情况下,mysql创建的myisam表允许的最大尺寸为4gb。你可以使用show table status语句或myisamchk -dv tbl_name检查表的最大尺寸。请参见13.5.4节,“show语法”。
如果需要使用大于4gb的myisam表(而且你的操作系统支持大文件),可使用允许avg_row_length和max_rows选项的create table语句。创建了表后,也可以使用alter table更改这些选项,以增加表的最大允许容量
bitscn.com
其它类似信息

推荐信息