mysql 单个表可以储存多少数据

mysql 单个表可以储存多少数据,第1张

以下是摘抄mysql中文手册的解释:

MySQL 3.22限制的表大小为4GB。由于在MySQL 3.23中使用了MyISAM存储引擎,最大表尺寸增加到了65536TB(2567 – 1字节)。由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由 *** 作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。

InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间可包括原始磁盘分区,从而使得很大的表成为可能。表空间的最大容量为64TB。

在下面的表格中,列出了一些关于 *** 作系统文件大小限制的示例。这仅是初步指南,并不是最终的。要想了解最新信息,请参阅关于 *** 作系统的文档。

*** 作系统

文件大小限制

Linux 2.2-Intel 32-bit

2GB (LFS: 4GB)

Linux 2.4+

(using ext3 filesystem) 4TB

Solaris 9/10

16TB

NetWare w/NSS filesystem

8TB

win32 w/ FAT/FAT32

2GB/4GB

win32 w/ NTFS

2TB(可能更大)

MacOS X w/ HFS+

2TB

“在mysql中,每个数据库最多可创建20亿个表,一个表允许定义1024列,每行的最大长度为8092字节(不包括文本和图像类型的长度)。当表中定义有varchar、nvarchar或varbinary类型列时,如果向表中插入的数据行超过8092字节时将导致Transact-SQL语句失败...”

实这个问题要拆分成两个问题。

第一是 *** 作系统所采用的文件系统能支持的单个文件大小,比如:

linux 2.2-intel 32-bit (ext2文件系统) 最大支持2GB

linux 2.4+ (ext3文件系统) 支持4TB

win32 (fat32文件系统) 4GB

win32 (ntfs文件系统) 2TB

第二是存储引擎本身能支持的最大空间大小。比如

InnoDB存储引擎的表空间最大容量为64TB,不具体限制单表的大小,但受限于表空间。

MyISAM

最大表尺寸为65536TB,但是在 MySQL5.0版本之前,默认情况下,MyISAM单个表允许的最大尺寸为4GB,你可以通过 SHOW

TABLE STATUS 语句或 myisamchk -dv tbl_name 检查表的最大尺寸,如果是4G,可以通过修改

AVG_ROW_LENGTH 和 MAX_ROWS 选项的值来达到目的。MySQL5.0版本后,默认MyISAM表的限制是256TB。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7485835.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存