Câu hỏi phỏng vấn Laravel
Câu hỏi

Lợi ích của eager loading là gì, bạn sử dụng nó khi nào?

Câu trả lời

Eager loading là một tính năng của Eloquent ORM trong Laravel, giúp giảm đáng kể số lượng truy vấn SQL cần thiết để tải các quan hệ của model. Khi sử dụng eager loading, các quan hệ (relations) được truy vấn ngay lập tức sau khi truy vấn của model chính được thực hiện, giúp hạn chế vấn đề N+1 query, nơi mà mỗi đối tượng trong một tập hợp sẽ gây ra một truy vấn SQL riêng biệt để tải quan hệ của nó[1][3].

Eager loading được sử dụng khi bạn biết trước rằng bạn sẽ cần truy cập đến các quan hệ của một model trong một lần truy vấn. Ví dụ, khi bạn lấy ra tất cả các đối tượng của một model và bạn biết rằng bạn cũng sẽ cần thông tin từ các quan hệ của chúng, sử dụng eager loading sẽ giúp bạn tải tất cả thông tin cần thiết trong một lần truy vấn thay vì phải thực hiện nhiều truy vấn riêng lẻ, từ đó cải thiện hiệu suất ứng dụng[3][9].

Một ví dụ cụ thể là khi bạn có một model Book và một model Author có quan hệ với nhau, và bạn muốn lấy ra tất cả sách cùng với thông tin tác giả của chúng. Thay vì lấy ra tất cả sách và sau đó thực hiện một truy vấn riêng lẻ cho mỗi tác giả (gây ra vấn đề N+1 query), bạn có thể sử dụng eager loading để tải tất cả thông tin sách và tác giả trong một truy vấn duy nhất[3].

Citations:
[1] https://chungnguyen.xyz/l...

middle

middle

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

expert

Những điểm khác biệt và giống nhau giữa LumenLaravel là gì?

middle

Query scopes là gì?

senior

Bạn có thể chèn kiểm tra xác thực vào yêu cầu API ở đâu?

Bình luận

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

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