Câu hỏi phỏng vấn Ruby on Rails
Câu hỏi

Cách preload, includes và eager_load khác nhau ra sao?

Câu trả lời

markdown Copy
**Các phương thức `preload`, `includes`, và `eager_load` sử dụng trong ActiveRecord để tải dữ liệu từ cơ sở dữ liệu cùng với các liên kết liên quan, nhằm giảm số lượng truy vấn ngược sử dụng. Tuy nhiên, chúng có sự khác biệt như sau:**

## Đặc điểm

- **`preload`**: Tạo ra một truy vấn riêng biệt cho từng mối quan hệ được chỉ định, sử dụng thích hợp khi cần lấy dữ liệu từ các liên kết nhưng không cần kết hợp dữ liệu từ các bảng khác. Điều này giúp giảm độ phức tạp của một truy vấn SQL.

- **`includes`**: Là phương thức linh hoạt, tự động chọn zwischen `preload` hoặc `eager_load` phụ thuộc vào cách thức bạn sử dụng các kết quả truy vấn sau đó. Nếu bạn truy cập các thuộc tính trên bảng liên kết ngay sau khi tải, nó sẽ sử dụng SQL JOIN, t...
middle

middle

Gợi ý câu hỏi phỏng vấn

junior

Định nghĩa Biến Instance, Biến Global và Biến Class trong Ruby?

middle

Giải thích scope trong model. Scope lồng nhau hoạt động ra sao?

middle

ActiveRecord là gì? Có những callback nào thường dùng?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào