3

我需要存储大量 Twitter 推文

  • 哪个可能是推文的最佳数据库类型 → 最好的猜测是TEXT
  • 我也需要防止重复。varchar(255)→ 最好的猜测UNIQUE key
    • 可能是varchar(140)字符应该起作用,但我们也有中文字符?(会节省很多空间)

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

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

4

3 回答 3

5

编辑

Twitter 不再根据 140 个字符的限制计算用户句柄,因此不足以varchar(140)存储包含用户句柄的全部长推文。

然而,经过检查,当通过他们的句柄提及另一个 Twitter 用户时,我仍然无法超过 140 个字符。

原始答案

varchar(140)utf8格式中。

TEXT效率会非常低。char(140)会浪费太多空间。

这并不是说这支持我的答案,但是关于技术和效率的阅读仍然很有趣。

于 2012-05-04T20:28:20.883 回答
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 哈希。如果这是您的实际意图,只需在列上设置唯一性约束。

于 2012-05-04T20:28:14.317 回答
2

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

varchar(140)是我会使用的。

于 2012-05-04T20:28:50.483 回答