explain.depesz.com

PostgreSQL's explain analyze made readable

Result: aWgv

Settings
# exclusive inclusive rows x rows loops node
1. 18.173 7,737.842 ↑ 1.0 1,478 1

Bitmap Heap Scan on lu_tracts t (cost=40.04..5,277,118.45 rows=1,478 width=28) (actual time=6.019..7,737.842 rows=1,478 loops=1)

  • Heap Blocks: exact=21
2. 0.075 0.075 ↑ 1.0 1,478 1

Bitmap Index Scan on pk_lu_tracts (cost=0.00..39.67 rows=1,478 width=0) (actual time=0.074..0.075 rows=1,478 loops=1)

3.          

SubPlan (forBitmap Heap Scan)

4. 20.692 6,661.346 ↑ 1.0 1 1,478

Aggregate (cost=3,012.18..3,012.19 rows=1 width=8) (actual time=4.507..4.507 rows=1 loops=1,478)

5. 6,640.654 6,640.654 ↑ 1.0 68 1,478

Index Only Scan using pk_facts on facts f (cost=0.42..3,012.00 rows=70 width=0) (actual time=0.044..4.493 rows=68 loops=1,478)

  • Index Cond: (tract_id = (t.tract_id)::text)
  • Heap Fetches: 100436
6. 20.692 1,058.248 ↑ 1.0 1 1,478

Aggregate (cost=558.20..558.21 rows=1 width=8) (actual time=0.716..0.716 rows=1 loops=1,478)

7. 97.548 1,037.556 ↑ 1.0 68 1,478

Nested Loop Semi Join (cost=0.56..558.03 rows=68 width=0) (actual time=0.030..0.702 rows=68 loops=1,478)

8. 35.472 35.472 ↑ 1.0 68 1,478

Index Only Scan using pk_lu_fact_types on lu_fact_types y (cost=0.14..15.16 rows=68 width=4) (actual time=0.005..0.024 rows=68 loops=1,478)

  • Heap Fetches: 100504
9. 904.536 904.536 ↑ 1.0 1 100,504

Index Only Scan using pk_facts on facts f_1 (cost=0.42..8.08 rows=1 width=4) (actual time=0.009..0.009 rows=1 loops=100,504)

  • Index Cond: ((fact_type_id = y.fact_type_id) AND (tract_id = (t.tract_id)::text))
  • Heap Fetches: 100436
Planning time : 0.444 ms