小编she*_*ron的帖子

嵌套表层次结构:外键复制与连接

我有一个嵌套表层次结构,类似于以下一个(这是一个示例,但足以很好地演示模式):

+---------+  +---------+  +---------+  +-------------+
| users   |  | blogs   |  | posts   |  | comments    |
+---------+  +---------+  +---------+  +-------------+
| user_id |  | blog_id |  | post_id |  | comment_id  |
| email   |  | user_id |  | blog_id |  | post_id     |
+---------+  | name    |  | content |  | comment     |
             +---------+  +---------+  +-------------+
Run Code Online (Sandbox Code Playgroud)

因此,对象层次结构很明确:评论属于单个帖子,属于单个博客,属于单个用户。

现在,在我的应用程序代码中,我想验证评论只能由拥有帖子的博客的用户阅读(假设这些是私人评论,好吗?)。例如,当 I 时SELECT * FROM comments WHERE comment_id = 666,我想验证请求用户“拥有”该评论。

我的困境是:你会建议我:

  • 复制user_idto comments,所以我总是可以快速参考拥有的用户,并且检查用户 ID(在选择期间或之后)很简单,或者
  • 编写我的数据库访问代码(映射器或您拥有的任何东西)以始终 JOIN …

mysql performance foreign-key hierarchy duplication

6
推荐指数
1
解决办法
1204
查看次数

标签 统计

duplication ×1

foreign-key ×1

hierarchy ×1

mysql ×1

performance ×1