Prevent slow queries and optimize page loads.
webpack.mix.js). Run via npm run dev. NO Vite.match expressionsstring|int)?->)fn() =>)??=)Avoid accessing relationships inside loops in views/controllers. Example:
// WRONG - N+1 queries in Blade
@foreach($students as $student)
{{ $student->course->name }}
@endforeach
// CORRECT - Eager load in controller
$students = Student::with('course')->get();
Cache results of expensive queries when appropriate:
$grades = Cache::remember(
'grades_'.$student_id,
300,
function () use ($student_id) {
return Grade::where('student_id', $student_id)->get();
}
);
student_id, course_id).email, student_number).EXPLAIN on slow queries; capture slow query log.with) and avoid large in-memory collections. ESCALATION REQUIRED. Performance issue: <detail>.Output WAITING_FOR_HUMAN_OK when the file is generated.