BBe*_*eta 4 mysql sqldatatypes
我有一个小型社交网站,包含帖子和评论。
\n我决定让用户使用他们想要的任意数量的 char\xd8\xb3 创建帖子,我认为存储此类内容的最佳数据类型是Text。
\n但对于注释,大多数情况下用户只写一行或几行文字。这就是为什么我认为我必须将注释字符串长度限制为最大 3000 甚至 6000 个字符。
\n那么,我的评论应该使用什么数据类型?
\n Varchar还是文本?
VARCHAR和之间有很多不同的地方TEXT,也有不同的地方。我说的一些话:
TEXT。TINYTEXT- 它相对于 而言只有负面影响VARCHAR(255)。VARCHAR(255);选择一个合理的最大值而不是 255。(这是与复杂查询中的临时表相关的一个小优化。)CHAR真正固定长度的东西。几乎在所有此类情况下,请添加CHARACTER SET ascii(或 latin1)。(否则它将占用比您预期更多的空间。CHARACTER SET ut8mb4。(例外情况正变得越来越罕见。)(抱歉,我跑题了。回到主题......)
I 索引,InnoDB 行的布局(有 4 个不同的ROW_FORMATs)等,VARCHAR(513)本质上与TEXT.
少数论据之一VARCHAR是它将存储限制为给定的长度。但这有多重要?