首页 > 解决方案 > 用户和通知之间有什么样的数据库关系?

问题描述

我正在考虑我的数据库模式在存储通知时的外观。

我有一个具有自我关系的用户表:

在此处输入图像描述

一个用户可以有很多用户(朋友)。但我不确定如何将通知合并到其中。当演员(用户)执行诸如查看电影之类的操作时,会创建一个通知。

在用户之间共享这些通知时,我可以想到 2 种方法:

一个。创建通知时,actor 的每个朋友都会获得存储在他们的通知数组中的该通知的记录。这样我就可以添加watched字段来检查通知是否已被其他用户看到。

湾。创建通知时,它将存储在通知表中,该表与持有记录的其他用户具有多对多关系,该记录引用了该演员结识的每个用户的通知。但是这样我也需要一个表来保存被监视的状态。

这两种方法中的哪一种更受欢迎?还是有另一种/更好的方法来保存这些数据?如果通知表包含 100.000 条通知,这是否会影响为某些用户检索通知所需的时间?如果用户有 1000 个朋友,如果需要将 1000 条记录放在不同的用户表中,是否会使服务器崩溃?

标签: database

解决方案


推荐阅读