我需要存储大量的Twitter推文
TEXT
varchar(255)
最佳猜测UNIQUE key
varchar(140)
角色应该有效,但我们也有中国角色? (会节省很多空间)另一个想法是,将所有推文存储为TEXT
,并添加另一列,将推文散列到MD5并在列上添加UNIQUE key
。
问题: 什么是存储推文的最佳MySQL类型?
答案 0 :(得分:5)
修改强>
Twitter不再将用户句柄among other things计入140个字符的限制,因此varchar(140)
不足以存储包含用户句柄的整个长推文。
然而,经过检查,当通过他们的手柄提及另一个推特用户时,我仍然无法超过140个字符。
原始回答
varchar(140)
格式的 utf8
。
TEXT
非常低效。 char(140)
会浪费太多空间。
这不是支持我的答案,但interesting reading仍然是技术和效率。
答案 1 :(得分:2)
由于推文被定义为140个字符的字符串,您可以将其存储为nvarchar(140)
,尽管称“最好”有点冒昧,因为我们不知道您的预期用途是什么......
http://en.wikipedia.org/wiki/Twitter
没有理由进行MD5哈希。如果这是您的实际意图,只需在列上设置唯一性约束。
答案 2 :(得分:2)
推文最多140个字符,所以我肯定会使用它。
varchar(140)
就是我要用的。