mysql - 用户 Activity 提要的表结构 - 关系与否?

标签 mysql database database-design android-activity

所以我坚持一个决定:

我正在决定是否为用户 Activity 提要做这样的事情:

id | userID | typeID | contentID | time

OR 与外键和正确索引更相关的东西,如下所示:

id | userID | postID | postCommentID | photoID | photoCommentID | time

或者按照这些思路。

我正在寻找一个答案,不仅要说明是哪一个,还要说明原因和优点/缺点。


编辑:

这适用于的另一件事是是否使用带有类型 | 的 1 个评论表contentIDpostID | photoID 更好或 2 个单独的表;一张用于照片评论,一张用于帖子评论??

编辑 2:

数据将如何使用:

它可以在 2 种情况下使用 - 用于在用户自己或他们周围的其他用户的时间线提要中显示。

编辑 3:

尽管所有详细信息都存储在其他表中,但选择此方法来创建 Activity 提要的原因是加载提要时的速度,尽管我知道我正在牺牲写入性能。它还允许我稍后添加新的数据/帖子类型,并将查询中的连接数减少到 0。

感谢您的宝贵时间!

-斯特凡

最佳答案

当您说“饲料”时,您的意思是供其他人食用?还是用于存储其他人的提要?或者只是一个人在您系统中的 Activity ?

我会先进行规范化,然后根据需要进行非规范化,但是您的两个选项都没有显示您正在建模的范围的完整故事。

关于mysql - 用户 Activity 提要的表结构 - 关系与否?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4730825/

相关文章:

android - 共享数据库数据

sql-server - 处理大型数据库

mysql - laravel中Mysql分组返回数据

MySQL 迭代列名

MySQL - 限制用户只能使用分配给公司的产品

MySql x 行与 x-1 相似列,合并最后一列

mysql - 在 MySQL 数据库中实现复杂的约束

mysql - 运行时查询分析和优化

mysql - 在MySQL中将行限制为列的总和等于某个值

android - Android数据库文件的路径是什么?