1

互いに1対1の2つのモデルがあります。A には現在 B が 1 つあります。

最近、ロジックを簡素化し、パフォーマンスを向上させるために、A が B の ID を保持することが望ましい場合に多く遭遇します。しかし、私は疑問に思います:

  1. これは可能です
  2. 違反する
  3. 本当にどんな考えでも

アップデート

私は間違っていました。左外部結合は、追加の外部キーの恩恵を受けません。

私が考えることができる唯一の場所は、B を持たないすべての A を見つけることです。100000 以上のレコードのそれぞれに内部結合が必要です。しかし、ID があれば、どの A に B があるかをすぐに知ることができます。

4

2 に答える 2

0

もう1つの方法は、A idをBに配置する、つまり非正規化することです。これにより、BがないAとBがあるAを特定できます。これは、BがA間を頻繁に移動しないシナリオのレポートに適している場合があります。

于 2012-04-16T17:48:01.073 に答える
0

これが可能だとは思いません。外部キーをどこに保持するかを決める必要があります。関係を介した結合を使用し、既存の両方のモデルを結合を介してhas_oneにすることは理にかなっていますか?

于 2012-04-16T07:52:51.887 に答える