Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL数据库中存储文章的字段/数据类型_Mysql_Database Design_Varchar - Fatal编程技术网

在MySQL数据库中存储文章的字段/数据类型

在MySQL数据库中存储文章的字段/数据类型,mysql,database-design,varchar,Mysql,Database Design,Varchar,我不得不相信这个话题已经被写了一遍又一遍,但是我很难找到任何好的、可靠的信息 我应该使用什么数据类型来存储200到400个单词的文本?那么那些可能接近二三千字的长文章呢 哪些选项会影响我的决定?我不打算搜索这些数据,但我不能完全排除以后可能会这样做的可能性 不幸的是,我的背景是MS Access,其中唯一的选项是备注字段。MySQL看起来并不是那么简单。一个文本字段应该足够大,可以存储大多数文章。似乎相当于Access的备忘录类型。它最多可以容纳65535个字符,大概在……我不知道……平均10-

我不得不相信这个话题已经被写了一遍又一遍,但是我很难找到任何好的、可靠的信息

我应该使用什么数据类型来存储200到400个单词的文本?那么那些可能接近二三千字的长文章呢

哪些选项会影响我的决定?我不打算搜索这些数据,但我不能完全排除以后可能会这样做的可能性


不幸的是,我的背景是MS Access,其中唯一的选项是备注字段。MySQL看起来并不是那么简单。

一个
文本
字段应该足够大,可以存储大多数文章。似乎相当于Access的备忘录类型。它最多可以容纳65535个字符,大概在……我不知道……平均10-12000个单词?

文本数据类型对于您的情况来说是一种安全的选择,
VARCHAR
通常在需要索引或需要存储明确定义的值(IP地址、邮政编码等)时使用.

如果您使用的是MySQL 5.0.3或更高版本,请转到。它可以容纳65k字节。只要每行只有1个long VARCHAR,就可以了

否则,请使用文本

从mysql手册:

BLOB和TEXT与VARBINARY不同 和VARCHAR的方法如下:

没有删除的尾随空间 设置值时的BLOB和文本列 存储或检索。MySQL之前 5.0.3,这与VARBINARY和VARCHAR不同,后者的尾随空格为 存储值时删除

在比较中,文本是空间扩展的 精确地拟合比较对象 比如CHAR和VARCHAR

对于BLOB和文本列上的索引, 必须指定索引前缀 长度。对于CHAR和VARCHAR,前缀 长度是可选的。见第7.5.1节, “列索引”

BLOB和TEXT列不能具有 默认值

也很高兴知道(来自):

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


在制定使用文本的查询时,您确实应该考虑到这一点。

就我所知,在您发布的内容中,对我来说唯一重要的是您上次提到的内存问题。我想我会选择varchar,因为每行只有一个这样的字段。