explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 4gEi

Settings
# exclusive inclusive rows x rows loops node
1. 801.390 3,013.375 ↑ 9,023.0 200 1

Hash Semi Join (cost=11.07..251,482.39 rows=1,804,600 width=546) (actual time=780.682..3,013.375 rows=200 loops=1)

  • Hash Cond: (changes_y2018.change_id = (unnest(client_logs.change_ids)))
2. 463.023 2,211.900 ↑ 1.0 3,608,000 1

Append (cost=0.00..221,921.00 rows=3,609,200 width=547) (actual time=0.011..2,211.900 rows=3,608,000 loops=1)

3. 929.641 929.641 ↑ 1.0 1,804,000 1

Seq Scan on changes_y2018 (cost=0.00..101,946.13 rows=1,805,313 width=546) (actual time=0.011..929.641 rows=1,804,000 loops=1)

4. 819.236 819.236 ↓ 1.0 1,804,000 1

Seq Scan on changes_y2019 (cost=0.00..101,928.87 rows=1,803,887 width=548) (actual time=0.012..819.236 rows=1,804,000 loops=1)

5. 0.040 0.085 ↓ 2.0 200 1

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

  • Buckets: 1024 Batches: 1 Memory Usage: 16kB
6. 0.029 0.045 ↓ 2.0 200 1

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

7. 0.016 0.016 ↑ 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.015..0.016 rows=1 loops=1)

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