Index-only scan đọc dữ liệu chỉ từ index nếu index chứa đủ columns cần trả và visibility map cho biết page có thể đọc mà không check heap. Nó giảm I/O nhưng không phải lúc nào planner cũng chọn.
Có thể hỗ trợ bằng covering index với INCLUDE:
sql
CREATE INDEX idx_orders_user_created
ON orders (user_id, created_at DESC) INCLUDE (total, status);Nếu bảng update nhiều và visibility map chưa thuận lợi, PostgreSQL vẫn phải đọc heap, làm index-only scan kém hiệu quả.