从Twitter存储Tweets的MySQL数据类型

时间:2012-05-04 20:23:30

标签: mysql database database-design

我需要存储大量的Twitter推文

  • 这可能是推文的最佳数据库类型→最佳猜测就像TEXT
  • 一样
  • 我也需要防止重复。 →使用varchar(255)最佳猜测UNIQUE key
    • 可能varchar(140)角色应该有效,但我们也有中国角色? (会节省很多空间)

另一个想法是,将所有推文存储为TEXT,并添加另一列,将推文散列到MD5并在列上添加UNIQUE key

问题: 什么是存储推文的最佳MySQL类型?

3 个答案:

答案 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

http://support.twitter.com/groups/31-twitter-basics/topics/109-tweets-messages/articles/127856-about-tweets-twitter-updates

没有理由进行MD5哈希。如果这是您的实际意图,只需在列上设置唯一性约束。

答案 2 :(得分:2)

推文最多140个字符,所以我肯定会使用它。

varchar(140)就是我要用的。