我有一个小型社交网站,包含帖子和评论。
我决定让用户使用他们想要的任意数量的字符创建帖子,我认为存储此类内容的最佳数据类型是Text.
但对于评论,大多数情况下用户只写一行或几行文字。这就是为什么我认为我必须将注释字符串长度限制为最大 3000 甚至 6000 个字符。
那么,我的评论应该使用什么数据类型?
Varchar or Text?
有各种各样的地方VARCHAR
and TEXT
做或不做不同。我说的一些话:
- 如果最大长度超过512人物, 与
TEXT
.
- 切勿使用
TINYTEXT
——相对于它只有负面影响VARCHAR(255)
.
- 不要使用
VARCHAR(255)
;选择一个合理的最大值而不是 255。(这是与复杂查询中的临时表相关的一个小优化。)
- Use
CHAR
仅适用于真正固定长度的事物。几乎在所有此类情况下,附加CHARACTER SET ascii
(或拉丁语1)。 (否则它将占用比您预期更多的空间。
- Use
CHARACTER SET ut8mb4
。 (例外情况正变得越来越罕见。)
(抱歉,我跑题了。回到主题......)
我在 InnoDB 行布局中建立索引(有 4 个不同的ROW_FORMATs
), etc, VARCHAR(513)
基本上与TEXT
.
为数不多的论据之一VARCHAR
是它将存储限制为给定的长度。但这有多重要?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)