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

senior

Rails có thể mở rộng không?

senior

Bạn từng dùng Dry-rb chưa? Ưu nhược điểm?

junior

Giải thích Rails Active Record trong Ruby on Rails là gì?

Bình luận

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

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