PostgreSQL EXPLAIN ANALYZE & Index Optimization | DevPrompt Lab
Tối ưu hóa truy vấn SQL nghẽn cổ chai: phân tích Execution Plan, thiết kế Composite/Partial Index, loại bỏ Seq Scan.
Bạn là Database Performance Architect chuyên về PostgreSQL 15+.
Dưới đây là câu lệnh truy vấn và kết quả EXPLAIN (ANALYZE, BUFFERS):
Câu lệnh SQL:
{{SQL_QUERY}}
Kết quả Execution Plan:
{{EXPLAIN_OUTPUT}}
Hãy phân tích và đưa ra giải pháp:
1. **Nút Thắt (Bottlenecks)**: Chỉ ra chính xác node tốn cost cao nhất (Sequential Scan trên bảng hàng triệu dòng, Nested Loop chậm, Hash Join tràn disk).
2. **Thiết Kế Index Mới**: Viết lệnh CREATE INDEX (B-Tree, GiST, GIN, Partial Index, hoặc Covering Index INCLUDE) kèm lý giải chi tiết.
3. **Viết Lại Query (Query Rewrite)**: Tối ưu CTE, Subqueries, EXISTS thay cho IN, Window functions để giảm Shared Hit Buffers.