我将存储像用户,搜索历史,帖子查看历史,保存的帖子等的东西。你明白了吧。
例如,对于用户保存的帖子,一个用户在其整个生命周期中将拥有大约500-2,000个用户,对于数千个用户,您可以看到这将如何非常迅速地增加。那么,当用户想要查看他们保存的帖子历史时,最好的显示方式是什么?
Surley查询表中所有与userid (大约2,000)匹配的已保存帖子将是疯狂的(如果我以传统的方式存储它(user,postid))!
我的想法是将所有用户保存的帖子I保存在一个大数组中,这样每个用户就有1行,而不是2,000行(存储在一个单元格中)。有什么理由我不应该这么做吗?你知道的最有效的方法是什么?哦,如果你同意这应该是什么数据类型,BLOB?
附带问题-当数据库超过1000-1亿行时,大多数人会转向什么解决方案?(硬件除外)
发布于 2012-05-05 08:42:15
按照建议添加索引。处理1亿行的一种可能的解决方案是一种称为数据库分片的技术,您可以根据ID范围在多个数据库实例(服务器)之间有效地隔离同一个表。然后,给定用户的帖子将位于多个“分片”中的一个上
http://en.wikipedia.org/wiki/Shard_(database_architecture
https://stackoverflow.com/questions/10457723
复制相似问题