فرض کنید یک Job دارید که باید 100,000 رکورد را پردازش کند:
$users = User::all();
foreach ($users as $user) {
// Process User
}
در محیط توسعه شاید مشکلی نبینید.
اما در Production:
❌ مصرف شدید RAM
❌ مشگل Timeout شدن Job
❌ افزایش Load سرور
راه حرفهای:
User::chunk(1000, function ($users) {
foreach ($users as $user) {
// Process User
}
});یا برای حافظه کمتر:
User::cursor()->each(function ($user) {
// Process User
});🎯 تفاوت برنامهنویس جونیور و سینیور در نوشتن کد نیست؛
در درک رفتار کد در مقیاس بزرگ است.
💡 کدی که روی 100 رکورد کار میکند، الزاماً روی 1 میلیون رکورد هم کار نخواهد کرد.
#Laravel #PHP #Performance #Backend
@CodeVerse_dev