N+1 query: vì sao một vòng lặp gọi truy vấn giết hiệu năng, và cách gộp thành một
N+1 là mẫu 1 truy vấn lấy danh sách rồi N truy vấn con trong vòng lặp — thường do ORM sinh ngầm. Đo thật: chi phí không đến từ query (100 query server-side chỉ 0,71 ms) mà từ 100 round-trip (4,3 giây). Một JOIN xóa sạch. PostgreSQL 16.