22장. EXPLAIN을 실제 비용과 함께 읽는다
estimated rows와 actual rows, scan, join, sort, buffer, time을 본다. EXPLAIN ANALYZE는 query를 실행하므로 write query와 운영 대형 table에서 주의한다.
BEGIN READ ONLY;
SET LOCAL statement_timeout = '3s';
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
SELECT id, total FROM orders WHERE tenant_id = 'fixture' AND status = 'PENDING';
ROLLBACK;
parameter 분포와 stale statistics를 확인한다. index를 즉시 추가하기보다 읽기 이득, write/storage 비용, 중복 index와 배포 방식을 평가한다.