explain.depesz.com

PostgreSQL's explain analyze made readable

Result: KtNM

Settings
# exclusive inclusive rows x rows loops node
1. 585.200 1,503.998 ↑ 1.0 40,612 1

Hash Anti Join (cost=862.52..28,275.75 rows=41,325 width=4) (actual time=21.853..1,503.998 rows=40,612 loops=1)

  • Hash Cond: (pusher_logs.id = publisher_state.pusher_log_id)
2. 600.413 917.125 ↑ 1.0 40,613 1

Hash Anti Join (cost=859.84..27,751.34 rows=41,325 width=4) (actual time=18.460..917.125 rows=40,613 loops=1)

  • Hash Cond: (pusher_logs.id = duplicate_candidate.pusher_log_id)
3. 301.212 306.662 ↑ 1.0 40,614 1

Bitmap Heap Scan on pusher_logs (cost=824.79..27,194.47 rows=41,337 width=4) (actual time=5.568..306.662 rows=40,614 loops=1)

  • Recheck Cond: (creation_date <= '2019-04-27 00:00:00+00'::timestamp with time zone)
  • Heap Blocks: exact=911
4. 5.450 5.450 ↑ 1.0 40,614 1

Bitmap Index Scan on pusher_logs__creation_date__index (cost=0.00..814.45 rows=41,337 width=0) (actual time=5.444..5.450 rows=40,614 loops=1)

  • Index Cond: (creation_date <= '2019-04-27 00:00:00+00'::timestamp with time zone)
5. 5.928 10.050 ↑ 1.0 491 1

Hash (cost=28.91..28.91 rows=491 width=4) (actual time=10.044..10.050 rows=491 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 26kB
6. 4.122 4.122 ↑ 1.0 491 1

Seq Scan on duplicate_candidate (cost=0.00..28.91 rows=491 width=4) (actual time=0.029..4.122 rows=491 loops=1)

7. 1.009 1.673 ↑ 9.4 8 1

Hash (cost=1.75..1.75 rows=75 width=4) (actual time=1.666..1.673 rows=8 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
8. 0.664 0.664 ↑ 1.0 75 1

Seq Scan on publisher_state (cost=0.00..1.75 rows=75 width=4) (actual time=0.020..0.664 rows=75 loops=1)

Planning time : 4.400 ms
Execution time : 1,792.548 ms