🍽️ Câu chuyện “Bồi bàn hậu đậu” = lỗi N+1 Query
Cùng một câu chuyện nhìn theo 2 cách: nhà hàng (trên) & Database (dưới) — chạy đồng bộ.
← Màn MC
0lần gọi
Database
Bấm ▶ Chạy để xem bồi bàn phục vụ 6 khách — và Database phải gọi lại bao nhiêu lần.
🛢️ Database (đúng bản chất)
3 cột đầu lấy được trong 1 truy vấn danh sách; cột “Món” phải hỏi DB thêm 1 lần cho mỗi dòng.
TỔNG: 1 + 6 = 7 lần gọi Database cho 6 dòng — chính là lỗi N+1 Query!
✅ Cách đúng: dùng JOIN / eager loading — chỉ 1 truy vấn lấy đủ cả 6 dòng + cột “Món”.
Bước 1