جاري التحميل
الرئيسية عني خدماتي أعمالي المدونة المجتمع اتصل بي دخول إنشاء حساب English وظّفني
العودة للمدونة
Backend

تحسين أداء Eloquent في مشاريع Laravel الكبيرة

25 Jan 2026 545 مشاهدة

ليه Eloquent ممكن يكون بطيء؟

Eloquent ORM سهل الاستخدام بس لو مش واخد بالك ممكن يعمل مشاكل أداء كبيرة. أشهر المشاكل:

  • مشكلة N+1 Query
  • تحميل بيانات مش محتاجها (Over-fetching)
  • غياب الـ Indexes على قواعد البيانات
  • عدم استخدام الـ Caching

1. مشكلة N+1 وحلها

مشكلة N+1 هي أشهر مشكلة في Eloquent. بتحصل لما بتعمل Query جوه Loop:

// غلط: هيعمل 1 + عدد البوستات queries
$posts = Post::all();
foreach ($posts as $post) {
    echo $post->author->name;
}

// صح: Eager Loading - query واحدة بس
$posts = Post::with('author')->get();

2. Select فقط ما تحتاجه

// غلط: بيجيب كل الأعمدة
$users = User::all();

// صح: جيب بس اللي محتاجه
$users = User::select('id', 'name', 'email')->get();

3. Chunking للبيانات الكبيرة

// صح: بيشتغل على 1000 record في كل مرة
User::chunk(1000, function ($users) {
    foreach ($users as $user) {
        processUser($user);
    }
});

4. Database Indexes

أي column بتعمل عليه where أو orderBy كتير لازم يكون عنده Index:

$table->index('email');
$table->index(['status', 'created_at']);

5. Caching

$users = Cache::remember('active-users', 3600, function () {
    return User::where('is_active', true)->get();
});

بتطبيق النقط دي ممكن تحسن أداء تطبيقك بنسبة 70-80% في بعض الحالات.

تفاعل مع المقال:

التعليقات

لا توجد تعليقات بعد، كن الأول!

يجب تسجيل الدخول للتعليق

انضم للمجتمع وشارك رأيك في المقالات

مشاركة المقال

WhatsApp Telegram Twitter
كل المقالات
🤖

المساعد الذكي

اسألني عن محمود نصر

مرحباً! أنا مساعد ذكي لمحمود نصر. يمكنني الإجابة عن مهاراته وخبراته وأعماله. 👋
🗑️

تأكيد الحذف