[数据库设计]怎样改进一个用户一个表的设计?

2017-12-01 14:42:01 +08:00
 nullcoder
现在的设计是:
为每一个用户建一个表,然后表名就是用户 ID
表里的数据是用户的所有历史
业务上用户肯定会持续增长,这样数据库的表就会越来越多

另一种设计是
不同用户的同类型的业务放到一个表,一个类型建一个表
这样就需要加一列用户 ID,会有非常多的行用户 ID 是相同的(一个用户一个类型几万条)
而且为了研究一个用户的历史,可能需要增加查询的复杂程度
或者建视图,而类型可能也会慢慢增加。
其他可能的缺点还没有想到。

看看有没有大佬有改进的建议?
5252 次点击
所在节点    程序员
24 条回复
Tompes
2017-12-01 17:15:48 +08:00
第一种见过,我们教授做过这种东西 [逃]
nosay
2017-12-01 17:18:46 +08:00
第一种仔细想来,还挺有搞头的样子
BlackGrasshopper
2017-12-01 17:26:01 +08:00
@nullcoder 要统计特定用户,全用户范围内,几万户甚至百千万你准备查几十(百千)万个表是吗。。。。。。
zh10086
2017-12-02 11:52:45 +08:00
@asen477 这种方法比较好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/411122

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX