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

Khi truy vấn bị chậm, bạn dùng EXPLAIN ANALYZE như thế nào để tối ưu?

Câu trả lời

Khi truy vấn bị chậm, bạn có thể sử dụng EXPLAIN ANALYZE để tối ưu hóa bằng cách thực hiện các bước sau đây:

1. Chạy EXPLAIN ANALYZE:

Để xác định các phần của câu truy vấn gây ra chậm trễ, chạy EXPLAIN ANALYZE trên truy vấn đó. Lệnh này cung cấp một kế hoạch thực thi chi tiết, bao gồm cả thời gian thực hiện thực tế cho từng bước, giúp xác định chính xác nguyên nhân gây chậm.

2. Phân tích kế hoạch thực thi:

Tìm kiếm các phần có thời gian thực thi cao và các bước sử dụng thêm bộ nhớ hoặc CPU. Chú ý tới các bước như Seq Scan không cần thiết, có thể chuyển thành Index Scan.

3. Tối ưu hóa chỉ mục:

Nếu phát hiện thấy Seq Scan tiềm ẩn, cần kiểm tra và tạo chỉ mục phù hợp cho các cột trong mệnh đề WHERE hoặc JOIN. Các chỉ mục có thể giảm đáng kể thời gian x...

middle

middle

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

middle

Trong xây dựng hệ thống database lớn, bạn chọn giữa SQL và NoSQL như thế nào? Ưu/nhược từng loại?

middle

Làm sao để thiết kế database cho workload hỗn hợp: transactional (OLTP) và analytical (OLAP)?

middle

Bạn xử lý retry logic như thế nào để tránh race condition khi đồng bộ?

Bình luận

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

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