Laravel

Performance Optimization

Optimasi query, masalah N+1, eager loading, lazy loading, strategi caching, pengindeksan database, alat profiling

22 pertanyaan wawancaraยท
Senior
1

Apa itu masalah N+1 di Laravel?

Jawaban

Masalah N+1 terjadi ketika Eloquent menjalankan satu query untuk mengambil koleksi, lalu query tambahan per item untuk memuat sebuah relasi. Hal ini melipatgandakan akses database dan sangat menurunkan performa pada volume besar. Menggunakan eager loading dengan with() memuat semua relasi dalam satu query tambahan alih-alih N query.

2

Metode mana yang harus digunakan untuk menyelesaikan masalah N+1 saat memuat relasi?

Jawaban

Metode with() melakukan eager loading yang memuat relasi dalam satu query tambahan. Alih-alih menjalankan satu query per model saat mengakses relasi, semua relasi dimuat di awal. Hal ini secara drastis mengurangi jumlah query SQL dan meningkatkan performa.

3

Apa perbedaan antara eager loading dan lazy loading?

Jawaban

Eager loading memuat relasi segera bersama query utama melalui with(), sedangkan lazy loading memuat relasi sesuai permintaan saat pertama kali diakses. Lazy loading dapat menyebabkan masalah N+1 jika relasi diakses dalam sebuah loop. Eager loading direkomendasikan ketika relasi akan digunakan untuk menghindari query berulang.

4

Apa peran Cache::remember() di Laravel?

5

Apa perbedaan antara Cache::remember() dan Cache::rememberForever()?

+19 pertanyaan wawancara

Kuasai Laravel untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis