我有一个需要对用户进行大量主动搜索的网站。我有一个用户表,其中包含指向所有完整用户详细信息的链接,但只有在查看您自己的帐户时才真正感兴趣。在搜索其他用户时,您需要的信息非常有限,因此为了使搜索更快、更高效,每次更新用户详细信息时,代码都会将一个条目写入一个名为 UserLight 的单独表中 - 该表仅包含大约 8 列并且都是纯数据——即没有到其他子表或集合对象的链接,只是为了速度而使用字符串数据。每个用户一次只能有一个 UserLight 条目,这是他们的帐户如何显示给其他用户的摘要表示。
我的问题是关于性能的,我将 UserId 设置为 User 表的外键约束是否重要?因此,如果没有 User 中的相应行,您将无法创建 UserLight 条目,因此当您删除 User 行时,它会自动级联并删除 UserLight 条目。这是理想的,我希望如何拥有它,但我只是想知道在 UserLight 表上具有此 FK 约束是否会以任何方式减慢对该表的读取或写入操作的性能?如果是这样,我很乐意放弃 FK 约束并拥有一个完全隔离的表,没有约束或对其他对象的外部引用以提高性能,并且只需手动管理内务管理,但如果 FK 约束根本不影响性能 - 我宁愿保留它。