EXPLAIN hiển thị plan ước lượng mà không chạy query. EXPLAIN ANALYZE chạy query thật và hiển thị actual time/rows, nên chính xác hơn nhưng có side effect với write query nếu không bọc transaction rollback.
Ví dụ an toàn cho update:
sql
BEGIN;
EXPLAIN ANALYZE UPDATE jobs SET status = 'done' WHERE id = 42;
ROLLBACK;Khi đọc plan, so sánh estimated rows với actual rows, scan type, join strategy, sort/hash memory và node tốn thời gian nhất.