explain.depesz.com

PostgreSQL's explain analyze made readable

Result: FVJy

Settings
# exclusive inclusive rows x rows loops node
1. 315.632 1,533.450 ↑ 4,557.9 200 1

Hash Semi Join (cost=11.07..131,576.98 rows=911,586 width=546) (actual time=846.911..1,533.450 rows=200 loops=1)

  • Hash Cond: (changes_y2018.change_id = (unnest(client_logs.change_ids)))
2. 243.698 1,217.738 ↑ 1.0 1,822,000 1

Append (cost=0.00..116,638.69 rows=1,823,173 width=546) (actual time=0.037..1,217.738 rows=1,822,000 loops=1)

3. 974.040 974.040 ↑ 1.0 1,822,000 1

Seq Scan on changes_y2018 (cost=0.00..107,522.82 rows=1,823,173 width=546) (actual time=0.036..974.040 rows=1,822,000 loops=1)

  • Filter: (change_date < '2018-12-31'::date)
4. 0.036 0.080 ↓ 2.0 200 1

Hash (cost=9.82..9.82 rows=100 width=4) (actual time=0.079..0.080 rows=200 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 16kB
5. 0.026 0.044 ↓ 2.0 200 1

ProjectSet (cost=0.29..8.82 rows=100 width=4) (actual time=0.020..0.044 rows=200 loops=1)

6. 0.018 0.018 ↑ 1.0 1 1

Index Scan using client_logs_client_id_by_date_index on client_logs (cost=0.29..8.31 rows=1 width=827) (actual time=0.017..0.018 rows=1 loops=1)

  • Index Cond: ((client_id = 2962) AND (change_date > '2018-07-01'::date) AND (change_date < '2018-07-07'::date))