最近、この状況に遭遇しました。私の状況では、両方のクエリを「軽い」ものにすることができます。私は、大きなデータセットについては、何が良いのかを知りたいだけです。全体的に優れています(パフォーマンス、スピードなど)。複数のクエリと単一のクエリ(複数の結合が多数あります)
現在、私は2 1:N(has-many)関係の単一クエリを行い、アプリケーション内のデータを縮小/変換します。
それは、この変換/縮小のようになります。
[
'field' => 'value',
'hasMany-1' => [],
'hasMany-2' => []
]
私が実際にどういうわけか、それは私が2つの以上のhasManyのクエリを持っていた場合、それを軽減する痛みを解消し、よりかなりあるようちょうど別のクエリを行うように誘惑しています読めるがコードは現在動作しているので、次回にやってみよう。
妥協点はありますか?再び、私の状況では、私はわずかな行(< 100)しか持たず、構造がまだ初期段階にあるので複雑ではないので、非常に「軽い」かもしれません。
しかし、私はこの次回に遭遇した場合、およびデータセットが大きくなると尋ねられます。
**私が話しているEDIT **
のであり、多くの関係は以下のとおりです。customer
があり、多くのphones
とpets
。
私の現在のクエリは私にこの結果(簡体字)を返します:
customer_id | pet_name | phone
1 | john | 1234
1 | john | 5678
2 | jane | 1357
2 | jane | 2468
2 | joe | 1357
2 | joe | 2468
私は私のクエリは罰金だと思います。他のフィールドが異なる値を持つため、一部の行が繰り返されることは論理的です。
一般的なサンプルデータを提供しました。私はあなたがそれを要求してから具体的な例を提供します。それは私のためにこの質問にはまだ有効です。 – jen