N+1 query là gì? Làm sao để nhận biết và khắc phục
N+1 query là gì? Làm sao để nhận biết và khắc phục
N+1 query là một vấn đề hiệu năng trong truy vấn cơ sở dữ liệu khi bạn thực hiện một truy vấn để lấy danh sách object (N object) và sau đó thực hiện thêm một truy vấn riêng cho từng object để lấy dữ liệu liên quan. Điều này dẫn đến tổng cộng N + 1 truy vấn thay vì chỉ cần 1-2 truy vấn tối ưu. Ví dụ:
@posts = Post.all
@posts.each do |post|
puts post.comments.count
end...
middle