Mysql Varchar或文本数据类型,用于长度高达几千个字符的字符串
我有一个小的社交网站,上面有帖子和评论Mysql Varchar或文本数据类型,用于长度高达几千个字符的字符串,mysql,sqldatatypes,Mysql,Sqldatatypes,我有一个小的社交网站,上面有帖子和评论 我决定让用户使用任意数量的字符创建帖子,我认为存储这些内容的最佳数据类型是文本 但对于评论,在大多数情况下,用户只写一行或几行文字。这就是为什么我认为我必须将注释字符串长度限制在3000个字符甚至6000个字符左右的最大值。 那么,我的评论应该使用什么数据类型? Varchar或Text?根据您的要求,使用可用的四种文本类型之一[TINYTEXT、Text、MEDIUMTEXT和LONGTEXT] VARCHAR列中的值是可变长度字符串。长度可以指定为0到
我决定让用户使用任意数量的字符创建帖子,我认为存储这些内容的最佳数据类型是文本
但对于评论,在大多数情况下,用户只写一行或几行文字。这就是为什么我认为我必须将注释字符串长度限制在3000个字符甚至6000个字符左右的最大值。
那么,我的评论应该使用什么数据类型?
Varchar或Text?根据您的要求,使用可用的四种文本类型之一[TINYTEXT、Text、MEDIUMTEXT和LONGTEXT] VARCHAR列中的值是可变长度字符串。长度可以指定为0到65535之间的值,该值似乎足够大,可以处理用户预期的注释长度 这四种文本类型是TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。每种数据类型可存储的最大数据量约为: TINYTEXT 256字节 文本65535字节~64kb MEDIUMTEXT 16777215字节~16MB 长文本4294967295字节~4GB
另请参见在不同的地方,
VARCHAR
和TEXT
有区别或没有区别。我说的一些话:
- 如果最大长度超过512个字符,请使用
TEXT
- 永远不要使用
——它只有相对于TINYTEXT
的负数VARCHAR(255)
- 不要使用
;选择一个合理的最大值,而不是255。(这是一个与复杂查询中的临时表相关的小优化。)VARCHAR(255)
- 仅对真正固定长度的内容使用
。在几乎所有这样的情况下,加上CHAR
(或拉丁文1)。(否则它将占用比您预期的更多的空间字符集ascii
- 使用
(例外情况越来越少。)字符集ut8mb4
ROW\u格式
),等等,VARCHAR(513)
基本上与文本
无法区分
VARCHAR
为数不多的几个参数之一是,它将存储限制在给定的长度。但这一点有多重要?Thnx,在链接源代码中,作者写道:“VARCHAR与表内联存储。当大小合理时,VARCHAR速度更快。”,那么VARCHAR(3000)是否被认为是合理的大小?