
Hiệu năng Django
Tối ưu query, vấn đề N+1, index cơ sở dữ liệu, connection pooling, profiling, monitoring
1Vấn đề hiệu năng phổ biến nhất liên quan đến các query ORM của Django là gì?
Vấn đề hiệu năng phổ biến nhất liên quan đến các query ORM của Django là gì?
Câu trả lời
Vấn đề N+1 là vấn đề hiệu năng phổ biến nhất với Django ORM. Nó xảy ra khi một query ban đầu lấy N đối tượng, sau đó N query bổ sung được thực thi để lấy các đối tượng liên quan. Ví dụ, lặp qua các bài viết và truy cập tác giả của chúng tạo ra một query cho mỗi bài viết thay vì một query join duy nhất.
2Nên dùng phương thức nào để giải quyết vấn đề N+1 với quan hệ ForeignKey?
Nên dùng phương thức nào để giải quyết vấn đề N+1 với quan hệ ForeignKey?
Câu trả lời
select_related() là phương thức phù hợp để giải quyết vấn đề N+1 với quan hệ ForeignKey và OneToOneField. Nó thực hiện một join SQL và lấy các đối tượng liên quan trong một query duy nhất. prefetch_related() được dùng cho quan hệ ManyToMany hoặc quan hệ ngược (ForeignKey reverse).
3Khi nào nên dùng prefetch_related() thay vì select_related()?
Khi nào nên dùng prefetch_related() thay vì select_related()?
Câu trả lời
prefetch_related() được thiết kế cho quan hệ ManyToMany và quan hệ ngược (ForeignKey reverse). Khác với select_related() thực hiện join SQL, prefetch_related() thực thi một query riêng và thực hiện join trong Python. Điều này tránh việc trùng lặp dữ liệu sẽ xảy ra với join SQL trên các quan hệ many-to-many.
Làm thế nào để dùng Prefetch() để tùy chỉnh các query prefetch_related()?
Lợi ích chính của việc thêm index cơ sở dữ liệu trên một trường là gì?
+21 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Django khác
Kiến thức cơ bản về Python
Python hướng đối tượng
Kiến thức cơ bản về Django
Models Django - Cơ bản
Django Views
Template Django
Django Forms
QuerySets nâng cao
Xác thực Django
Middleware Django
Django Admin
Django REST Framework
Signal trong Django
Tải tệp lên
Caching trong Django
Session Django
Email trong Django
Kiểm thử Django
Bảo mật Django
Triển khai Django
Django ORM nâng cao
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django trong hệ sinh thái Microservices
Lệnh Django tùy chỉnh
Quốc tế hóa trong Django
Design Patterns trong Django
Django Async & ASGI
Settings & Cấu hình Production
Observability & Monitoring
Nắm vững Django cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí