TGViewer
CodeVerse | دنیای برنامه نویسان CodeVerse | دنیای برنامه نویسان @codeverse_dev · 1.06K subscribers
Post #617 339
🚨 یک Query ساده می‌تواند پشت صحنه صدها Query تولید کند.

فرض کنید:

$posts = Post::latest()->take(20)->get();

foreach ($posts as $post) {
echo $post->author->name;
}

ممکن است فکر کنید فقط یک Query برای گرفتن پست‌ها داریم.

اما اگر author را Eager Load نکرده باشید:

1 Query → دریافت Posts
20 Query → دریافت Authorها

یعنی:

21 Query برای فقط 20 پست!

راه بهتر:

$posts = Post::with('author')
->latest()
->take(20)
->get();

حالا داده‌های موردنیاز رابطه هم از قبل دریافت می‌شوند.

🎯 اما نکته مهم‌تر:

حالا N+1 فقط باعث کندی نیست؛ در سیستم پرترافیک می‌تواند تعداد Queryهای Database را به‌شدت افزایش دهد.

💡 همیشه بعد از نوشتن یک Feature از خودت بپرس:

«برای این صفحه واقعاً چند Query به Database ارسال می‌شود؟»


@CodeVerse_dev
  • 👍 5
  • ❤ 1
More from @codeverse_dev
  1. Oct 7, 2026👨‍💻 برنامه‌نویسی با AI راحت‌تر شده؛ پس چرا بعضی Developerها خسته‌تر شده‌اند؟ طبق نظرسنجی…
  2. Oct 7, 2026🚨 وردپرس 7.1.3 منتشر شد؛ این یکی را عقب نینداز وردپرس دیروز نسخه 7.1.3 را منتشر کرد؛ یک آ…
  3. Oct 6, 2026شرکت Google وارد یک درگیری جدی با ناشران شده ⚖️ رگولاتور رقابت لهستان اعلام کرده Google را…
  4. Oct 6, 2026اگر Windows 11 داری، قبل از نصب بعضی آپدیت‌ها حواست باشد ⚠️ مایکروسافت تأیید کرده آپدیت پی…
  5. Oct 6, 2026اگر Chrome استفاده می‌کنی، این آپدیت را جدی بگیر ⚡ نسخه Stable مرورگر Chrome برای دسکتاپ ب…
  6. Oct 6, 2026🖥 سازنده محتوایی؟ ویندوزت بدون این ۵ نرم‌افزار نصفه‌ست! خب راستشو بخوای، من خودم تا چند و…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →