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

senior

Trong tình huống database primary node chết, bạn xử lý failover như thế nào?

senior

Làm sao để làm hot standby mà không ảnh hưởng performance hệ thống chính?

middle

Làm sao để thiết kế schema giúp tận dụng hiệu quả index covering?

Bình luận

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

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