1

我有两个模型,它们是一对一的。A 目前有一个 B。

最近我遇到很多情况,如果 A 保留 B 的 id 以简化逻辑并提高性能,这是可取的。但是我想知道是否:

  1. 这个有可能
  2. 会违反和约定
  3. 真的有什么想法

更新

我错了,左外连接不会受益于额外的外键。

我能想到的唯一地方是找到所有没有 B 的 A,我的 100000 多条记录中的每一条都需要内部连接。但是,如果有一个 id,那么我可以立即知道哪个 A 有一个 B。

4

2 回答 2

0

我不相信这是可能的 - 你必须决定在哪里保存外键。使用通过关系连接以及现有模型都通过连接成为 has_one 对您来说有意义吗?

于 2012-04-16T07:52:51.887 回答
0

另一种选择是将A id 放在B 上,即非规范化。这将允许您确定哪些 A 没有 B,哪些 A 有 B。这可能适用于报告 B 不经常在 A 之间移动的场景。

于 2012-04-16T17:48:01.073 回答