mySQL表单大小的示例分析

68次阅读
没有评论

共计 2317 个字符,预计需要花费 6 分钟才能阅读完成。

这篇文章主要介绍了 mySQL 表单大小的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

这是说的是表单的大小而不是说表格中某项数据存储的最大长度。

PS 这里给出表格中 blob 类型的长度。BLOB 是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。BLOB 类型实际是个类型系列(TinyBlob、Blob、MediumBlob、LongBlob),除了在存储的最大信息量上不同外,他们是等同的。

MySQL 的四种 BLOB 类型

类型   大小 (单位:字节)

TinyBlob  最大 255

Blob    最大 65K

MediumBlob  最大 16M

LongBlob  最大 4G

实际使用中根据需要存入的数据大小定义不同的 BLOB 类型。

需要注意的是:如果你存储的文件过大,数据库的性能会下降很多。

在老版本的 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(可能更大)

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 更改这些选项,以增加表的最大允许容量。

这是说的是表单的大小而不是说表格中某项数据存储的最大长度。

PS 这里给出表格中 blob 类型的长度。BLOB 是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。BLOB 类型实际是个类型系列(TinyBlob、Blob、MediumBlob、LongBlob),除了在存储的最大信息量上不同外,他们是等同的。

MySQL 的四种 BLOB 类型

类型   大小 (单位:字节)

TinyBlob  最大 255

Blob  最大 65K

MediumBlob  最大 16M

LongBlob  最大 4G

实际使用中根据需要存入的数据大小定义不同的 BLOB 类型。

需要注意的是:如果你存储的文件过大,的性能会下降很多。

原文在这里:http://www.2cto.com/database/201111/111978.html

mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash; mdash;

这是说的是表单的大小而不是说表格中某项数据存储的最大长度。

PS 这里给出表格中 blob 类型的长度。BLOB 是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。BLOB 类型实际是个类型系列(TinyBlob、Blob、MediumBlob、LongBlob),除了在存储的最大信息量上不同外,他们是等同的。

MySQL 的四种 BLOB 类型 www.2cto.com

类型   大小 (单位:字节)

TinyBlob  最大 255

Blob  最大 65K

MediumBlob  最大 16M

LongBlob  最大 4G

实际使用中根据需要存入的数据大小定义不同的 BLOB 类型。

需要注意的是:如果你存储的文件过大,数据库的性能会下降很多。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“mySQL 表单大小的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计2317字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)