TGViewer
CodeVerse | دنیای برنامه نویسان CodeVerse | دنیای برنامه نویسان @codeverse_dev · 1.06K subscribers
Post #491 275
🚨 این کد روی سیستم توسعه کاملاً طبیعی به نظر می‌رسد:

$users = User::all();

۱۰۰ کاربر؟

مشکلی نیست.

۱۰۰ هزار کاربر؟

هنوز شاید متوجه مشکل نشوید.

اما وقتی جدول به چند میلیون رکورد برسد، این Query می‌تواند:

❌ حجم زیادی از RAM را مصرف کند
❌ زمان Response را بالا ببرد
❌ فشار زیادی به Database وارد کند
❌ حتی باعث Timeout شدن Request شود

اگر فقط برای پردازش اطلاعات به رکوردها نیاز دارید، از پردازش تکه‌ای استفاده کنید:

User::chunkById(1000, function ($users) {
foreach ($users as $user) {
// Process
}
});

و اگر برای API فقط بخشی از داده‌ها را لازم دارید، Pagination یا Cursor Pagination انتخاب منطقی‌تری است.

🎯فضای Database را طوری Query نکن که انگار همیشه فقط ۱۰۰ رکورد دارد.

💡 کدی که امروز با ۱۰۰۰ رکورد عالی است، ممکن است فردا با ۱۰ میلیون رکورد تبدیل به یک Incident واقعی شود.

@CodeVerse_dev
  • 👍 5
  • ❤ 2
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 →