繁体   English   中英

如何将无限数据存储到mysql中的特定列

[英]How to store unlimited data to a particular column in mysql

我的一个使用mysql作为数据库的php项目。在此项目中,PHP前端将允许用户修改数据库。 它有一个列存储用户输入的数据。

之前我使用的数据类型为sallint(255)。 当数据库开始增长时,需求自动要求用户输入的数据更多的存储空间,因此我将数据类型更改为TEXT,现在提出了一个特别的要求,该数据存储需求比TEXT所能提供的更多。 特定列可以通过任何方式提供无限的数据存储吗?

您可以看到另外两种类型:

  1. LONGTEXT :一个TEXT列,最大长度为4,294,967,295或4GB(2 ^ 32 – 1)个字符。 如果该值包含多字节字符,则有效最大长度会更少。 LONGTEXT列的有效最大长度还取决于客户端/服务器协议中配置的最大数据包大小和可用内存。 每个LONGTEXT值使用一个四字节长度的前缀存储,该前缀指示该值中的字节数。
  2. LONGBLOB

BLOB和TEXT值可能会非常长,使用它们时可能会遇到一些限制:

排序时仅使用该列的前max_sort_length个字节。 max_sort_length的默认值为1024。通过在服务器启动或运行时增加max_sort_length的值,可以使更多字节有效地用于排序或分组。 任何客户端都可以更改其会话max_sort_length变量的值:

mysql> SET max_sort_length = 2000;
mysql> SELECT id, comment FROM t
    -> ORDER BY comment;

使用临时表处理的查询结果中的BLOB或TEXT列实例使服务器使用磁盘上的表而不是内存中的表,因为MEMORY存储引擎不支持这些数据类型

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM