数据库
首页 > 数据库> > mysql – 用于字符串长度最多为几千个字符的Varchar或文本数据类型

mysql – 用于字符串长度最多为几千个字符的Varchar或文本数据类型

作者:互联网

我有一个小型社交网站,有帖子和评论.
我决定让用户创建他们想要的任意数量的帖子,我认为用于存储这些内容的最佳数据类型是Text.
但是对于评论,在大多数情况下,用户只会写一行或几行文本.这就是为什么我认为我必须将注释字符串长度限制为最大3000或甚至6000个字符.
那么,我应该使用什么数据类型来表达我的意见?
Varchar还是Text?

解决方法:

VARCHAR和TEXT有各种不同的地方.我说的一些事情:

>如果最大长度超过512个字符,请使用TEXT.
>永远不要使用TINYTEXT – 它只有相对于VARCHAR(255)的负数.
>不要使用VARCHAR(255);选择合理的max而不是255.(这是与复杂查询中的临时表相关的次要优化.)
>仅将CHAR用于真正固定长度的物体.在几乎所有这种情况下,使用CHARACTER SET ascii(或latin1). (否则它将占用比您预期更多的空间.
>使用CHARACTER SET ut8mb4. (例外变得越来越罕见.)

(抱歉,我离题了.回到主题…)

我索引,在InnoDB行的布局(有4种不同的ROW_FORMAT)等中,VARCHAR(513)基本上与TEXT无法区分.

VARCHAR的少数几个参数之一是它将商店限制为给定的长度.但这有多重要?

标签:mysql,sqldatatypes
来源: https://codeday.me/bug/20190828/1755441.html