一对一关系的最佳方式

时间:2019-02-13 10:22:50

标签: relational-database

我正在开发一种社交网络类型的网站,用户可以在其中对网站上的内容进行多种描述。我创建了一个ResourceVersions表,其中包含数据库的所有实际内容,然后将其指向数据库中存储关系和内容类型的另一个对象。这样,我可以查询ResourceVersion表以查看最近更改/添加的项目。例如:

“主题”的“用户”指向用于描述用户的“ ResourceVersion”。

OR:

“主题”的“技巧”指向“资源”,其中的“资源版本”带有技巧的描述。

OR:

“技巧”具有“ UserTrick”,其中具有“ UserVideoClip”,该“ UserVideoClip”指向用于描述该片段的“ ResourceVersion”。

现在的问题是,在Resources / ResourceVersions与数据库中其他表之间建立1:1关系的最佳方法是什么?我现在将关系表指向Resources / ResourceVersions,但是是否应该反过来呢?还是没关系吗?

入口点通常是ResourceVersion(例如,至少在墙上装载多个项目时)。因此,当我查询ResourceTable并联接它指向的表时,它必须在外键上进行搜索。如果我将其转过头,它将使用“ primairy”键进行搜索。

这真的会改变速度吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

答案是肯定的,搜索主键更好。