تحسين الأداء هو رحلة مستمرة
في 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());