【Laravel】どんな時でもリレーションを採用すべきか?

テーマ、知りたいこと

Eloquentモデルのリレーションを採用「してはいけない」ときはどんな時か?

背景、状況

Eloquentモデルのリレーションを使うとコードの可読性が良くなるので積極的に採用しているのですが、こういう時には使ってはいけないなどありましたら教えてほしいです。

例えば、1対1のリレーションの場合、Eager Loadingでクエリを2回実行するよりも、Joinでテーブル結合すれば1回のクエリで済むので、パフォーマンス的にはリレーションは劣っているように見えます。

また、リレーション先のデータ数が膨大であり、Hash LoopよりもNested Loopの方が適切である場合も、リレーションは使いづらい気がします。

上記の場合でも、特に気にせずリレーションを採用すべきでしょうか?
また、他に検討すべき事項がありましたら教えていただきたいです。

コメントを投稿

0 コメント