Database

Optimasi Query Database dengan N+1 Problem

1 menit baca
Loading...

Apa itu N+1 Problem?

N+1 problem adalah salah satu masalah performa paling umum dalam aplikasi web. Ini terjadi ketika aplikasi melakukan query database yang tidak efisien.

Contoh Kasus

Bayangkan Anda mengambil 10 posts dan untuk setiap post, Anda query category-nya. Itu berarti 1 query untuk posts + 10 query untuk categories = 11 queries total!

Solusi: Eager Loading

Di Laravel, gunakan eager loading:

$posts = Post::with(["category", "tags"])->get();

Ini akan mengurangi query dari 11 menjadi hanya 3 queries!

Monitoring

Gunakan Laravel Debugbar atau Telescope untuk monitoring query. Perhatikan jumlah query dan waktu eksekusi.

Tips Tambahan

  • Gunakan indexing pada foreign keys
  • Implement caching untuk data yang jarang berubah
  • Gunakan pagination untuk dataset besar
I

Irvando Demas Arifiandani

Irvandoda — Web Developer & Digital Marketing Specialist

Lihat Profil →