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 hệ thống compliance (ví dụ GDPR, HIPAA), bạn quản lý quyền xóa dữ liệu như thế nào?

middle

Tại sao nhiều index có thể làm chậm INSERT/UPDATE/DELETE? Cách khắc phục?

middle

Trong môi trường đa node, bạn đảm bảo atomicity thế nào khi có sự cố giữa chừng?

Bình luận

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

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