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

Làm sao để phát hiện và xử lý truy vấn N+1 ở cấp hệ thống database?

Câu trả lời

Để phát hiện và xử lý truy vấn N+1 ở cấp hệ thống database, bạn cần thực hiện những bước sau:

Phát hiện truy vấn N+1:

  1. Khảo sát biểu đồ truy vấn: Sử dụng công cụ phân tích hiệu năng như APM (Application Performance Monitoring) để theo dõi lượng truy vấn tới database. Xác định các mẫu lặp đi lặp lại tương tự nhau nhưng với tham số khác nhau ngay sau một truy vấn lớn ban đầu.

  2. Kiểm tra logs và query execution plans: Sử dụng logging và query execution plans để giám sát các truy vấn được gửi đi, từ đó nhận biết truy vấn N+1 thông qua việc phát hiện các truy vấn con lặp lại không cần thiết.

Xử lý truy vấn N+1:

  1. Sử dụng eager loading: Thay vì lazy loading, sử dụng eager loading để tải dữ liệu ...
middle

middle

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

middle

Trong hệ thống database lớn, bạn xử lý index bloat như thế nào?

senior

Khi làm việc với microservices, bạn tổ chức schema như thế nào? Shared schema, DB-per-service hay hybrid?

senior

Làm sao để audit query log trong môi trường sản xuất mà vẫn đảm bảo hiệu năng?

Bình luận

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

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