یکی از رایجترین مشکلاتی که باعث کند شدن پروژههای لاراول میشود، N+1 Query Problem است.
فرض کنید میخواهید لیست پستها و نویسنده هر پست را نمایش دهید:
❌ روش اشتباه:
$posts = Post::all();
foreach ($posts as $post) {
echo $post->user->name;
}
اگر 100 پست داشته باشید، لاراول 101 کوئری به دیتابیس ارسال میکند!
✅ روش حرفهای با Eager Loading:
$posts = Post::with('user')->get();
foreach ($posts as $post) {
echo $post->user->name;
}حالا فقط 2 کوئری اجرا میشود:
1️⃣ دریافت پستها
2️⃣ دریافت کاربران مرتبط
مزایا:
⚡ افزایش چشمگیر سرعت سایت
⚡ کاهش فشار روی دیتابیس
⚡ بهبود عملکرد APIها
⚡ تجربه کاربری بهتر
💡 اگر پروژه لاراولی شما کند شده، اولین چیزی که باید بررسی کنید N+1 Query است.
❓ آیا تا به حال با مشکل کندی ناشی از کوئریهای زیاد در لاراول مواجه شدهاید؟
#Laravel #PHP
@CodeVerse_dev