تحسين الأداء هو رحلة مستمرة

في Laravel، مشكلة N+1 هي القاتل الصامت للأداء. ولكن الـ Eager Loading باستخدام with() هو مجرد البداية.

1. استعلامات محددة بالـ Select

بدلاً من جلب كل الأعمدة، اجلب فقط ما تحتاجه:

$posts = Post::select('id', 'title', 'slug')-\u003ewith('author:id,name')-\u003eget();

2. الـ Lazy Eager Loading

إذا كنت بحاجة لتحميل العلاقة بناءً على شرط معين:

$posts-\u003eloadCount('comments');

3. استخدام الـ Query Cache

التخزين المؤقت للنتائج الثقيلة:

$users = Cache::remember('active_users', 3600, fn() =\u003e User::active()-\u003eget());