我有两个彼此一对一的模型。 A目前有一个B。
最近我遇到很多情况,如果A保持B的id以简化逻辑和提高性能,那么是理想的。不过我想知道:
更新
我错了,左外连接不会受到额外外键的好处。
我唯一能想到的地方就是找到所有没有B的A,我的100000条记录中都需要内部联接。但如果有一个id,那我就可以马上知道哪个A有一个B。
答案 0 :(得分:0)
我不相信这是可能的 - 你必须决定在哪里保留外键。您是否有意义使用加入关系,并且您的现有模型通过联接是否已经通过?
答案 1 :(得分:0)
另一种选择是将A id放在B上,即非规范化。这将允许您找出没有B的A和A的A,这可能适用于B不经常在A之间移动的报告场景。