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.