0

我会像用户一样存储东西;搜索历史,帖子查看历史,保存的帖子等......你明白了。

例如,对于用户已保存的帖子,用户在其整个生命周期中将拥有大约 500-2,000 个,并且对于成千上万的用户,您可以看到这将如何快速加起来。所以当用户想要查看他们保存的帖子历史记录时是什么展示它的最佳方式是什么?

Surley 在表格中查询与用户 ID 匹配的所有已保存帖子(大约 2,000 个)会很疯狂(如果我以传统方式存储它(用户、帖子 ID))!

我的想法是将所有用户保存的帖子 ID 保存在一个大数组中,因此每个用户会有 1 行而不是 2,000 行(存储在一个单元格中)。有什么理由我不应该这样做吗?你知道的最有效的方法是什么?哦,如果你同意这应该是什么数据类型,BLOB?

附带问题 - 当数据库达到超过 10-1 亿行的大小时,大多数人会采用什么解决方案?(硬件除外)

4

1 回答 1

0

按照建议添加索引。1 亿行的可能解决方案是一种称为数据库分片的技术,您可以根据 ID 范围有效地将同一个表存储在多个数据库实例(服务器)中。然后,给定用户的帖子将存在于许多“碎片”之一上

http://en.wikipedia.org/wiki/Shard_(database_architecture )

于 2012-05-05T00:42:15.430 回答