explain.depesz.com

PostgreSQL's explain analyze made readable

Result: CowG : Optimization for: Optimization for: Optimization for: Optimization for: Optimization for: Optimization for: Optimization for: plan #E3qw; plan #BFpM; plan #zYcE; plan #9E4V; plan #5PSt; plan #50k; plan #r9or

Settings

Optimization path:

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 0.103 13.642 ↑ 1.3 3 1

Result (cost=681.52..682.58 rows=4 width=249) (actual time=13.612..13.642 rows=3 loops=1)

  • Output: romeo_three1.juliet_delta, romeo_three1.oscar, romeo_three1.november_seven, romeo_three1.three_five, romeo_three1.foxtrot_bravo, romeo_three1.lima_romeo, romeo_three1.seven_seven, romeo_three2.juliet_delta, romeo_three2.three_zulu, CASE WHEN (quebec_echo(romeo_three2.quebec_bravo) > 1316) THEN romeo_three3.charlie ELSE NULL::character varying END, romeo_three1.mike
  • Buffers: shared hit=3,915 read=259
2. 0.017 13.539 ↑ 1.3 3 1

Sort (cost=681.52..681.53 rows=4 width=264) (actual time=13.533..13.539 rows=3 loops=1)

  • Output: romeo_three1.juliet_delta, romeo_three1.oscar, romeo_three1.november_seven, romeo_three1.three_five, romeo_three1.foxtrot_bravo, romeo_three1.lima_romeo, romeo_three1.seven_seven, romeo_three2.juliet_delta, romeo_three2.three_zulu, romeo_three1.mike, romeo_three2.quebec_bravo, romeo_three3.charlie
  • Sort Key: romeo_three1.lima_romeo, romeo_three1.foxtrot_bravo DESC, romeo_three1.mike DESC
  • Sort Method: quicksort Memory: 26kB
  • Buffers: shared hit=3,915 read=259
3. 0.015 13.522 ↑ 1.3 3 1

Nested Loop Left Join (cost=656.62..681.48 rows=4 width=264) (actual time=13.504..13.522 rows=3 loops=1)

  • Output: romeo_three1.juliet_delta, romeo_three1.oscar, romeo_three1.november_seven, romeo_three1.three_five, romeo_three1.foxtrot_bravo, romeo_three1.lima_romeo, romeo_three1.seven_seven, romeo_three2.juliet_delta, romeo_three2.three_zulu, romeo_three1.mike, romeo_three2.quebec_bravo, romeo_three3.charlie
  • Buffers: shared hit=3,915 read=259
4. 0.008 13.492 ↑ 1.3 3 1

Nested Loop (cost=656.20..670.89 rows=4 width=235) (actual time=13.479..13.492 rows=3 loops=1)

  • Output: romeo_three1.juliet_delta, romeo_three1.oscar, romeo_three1.november_seven, romeo_three1.three_five, romeo_three1.foxtrot_bravo, romeo_three1.lima_romeo, romeo_three1.seven_seven, romeo_three1.mike, romeo_three1.quebec_seven, romeo_three2.juliet_delta, romeo_three2.three_zulu, romeo_three2.quebec_bravo
  • Join Filter: (romeo_three1.mike >= romeo_three2.echo)
  • Buffers: shared hit=3,906 read=259
5. 0.009 0.009 ↑ 1.0 1 1

Index Scan using sierra_delta on six foxtrot_juliet (cost=0.28..2.50 rows=1 width=85) (actual time=0.008..0.009 rows=1 loops=1)

  • Output: romeo_three2.quebec_seven, romeo_three2.delta_uniform_lima, romeo_three2.echo, romeo_three2.lima_seven, romeo_three2.romeo_kilo, romeo_three2.hotel, romeo_three2.lima_delta, romeo_three2.three_zulu, romeo_three2.juliet_delta, romeo_three2.quebec_bravo, romeo_three2.romeo_echo, romeo_three2.papa_bravo, romeo_three2.golf_romeo, romeo_three2.india_foxtrot, romeo_three2.uniform
  • Index Cond: (romeo_three2.quebec_seven = 657)
  • Buffers: shared hit=3
6. 0.021 13.475 ↑ 3.7 3 1

Bitmap Heap Scan on two_india four_uniform (cost=655.92..668.26 rows=11 width=174) (actual time=13.466..13.475 rows=3 loops=1)

  • Output: romeo_three1.quebec_seven, romeo_three1.delta_uniform_lima, romeo_three1.three_five, romeo_three1.seven_seven, romeo_three1.november_seven, romeo_three1.mike, romeo_three1.foxtrot_bravo, romeo_three1.golf_echo, romeo_three1.zulu, romeo_three1.oscar, romeo_three1.victor_tango, romeo_three1.lima_echo, romeo_three1.juliet_hotel, romeo_three1.lima_romeo, romeo_three1.november_romeo, romeo_three1.yankee_papa, romeo_three1.four_sierra, romeo_three1.juliet_delta, romeo_three1.papa_bravo, romeo_three1.two_romeo, romeo_three1.yankee_tango, romeo_three1.quebec_xray, romeo_three1.whiskey_five, romeo_three1.delta_uniform_two, romeo_three1.seven_bravo
  • Recheck Cond: ((romeo_three1.lima_echo = 657) AND (((romeo_three1.lima_romeo)::text = 'quebec_quebec'::text) OR ((romeo_three1.lima_romeo)::text = 'two_tango'::text) OR ((romeo_three1.lima_romeo)::text = 'golf_juliet'::text) OR ((romeo_three1.lima_romeo)::text = 'kilo'::text)))
  • Filter: ((NOT romeo_three1.seven_seven) AND ((NOT romeo_three1.papa_bravo) OR (romeo_three1.papa_bravo five NULL)))
  • Heap Blocks: exact=3
  • Buffers: shared hit=3,903 read=259
7. 0.215 13.454 ↓ 0.0 0 1

BitmapAnd (cost=655.92..655.92 rows=11 width=0) (actual time=13.451..13.454 rows=0 loops=1)

  • Buffers: shared hit=3,900 read=259
8. 0.302 0.302 ↓ 1.2 1,742 1

Bitmap Index Scan on three_india (cost=0.00..26.07 rows=1,511 width=0) (actual time=0.301..0.302 rows=1,742 loops=1)

  • Index Cond: (romeo_three1.lima_echo = 657)
  • Buffers: shared hit=2 read=10
9. 0.004 12.937 ↓ 0.0 0 1

BitmapOr (cost=629.60..629.60 rows=40,380 width=0) (actual time=12.935..12.937 rows=0 loops=1)

  • Buffers: shared hit=3,898 read=249
10. 5.345 5.345 ↑ 1.1 27,039 1

Bitmap Index Scan on papa_yankee (cost=0.00..463.59 rows=29,911 width=0) (actual time=5.345..5.345 rows=27,039 loops=1)

  • Index Cond: ((romeo_three1.lima_romeo)::text = 'quebec_quebec'::text)
  • Buffers: shared hit=1,735
11. 5.128 5.128 ↓ 1.2 9,422 1

Bitmap Index Scan on papa_yankee (cost=0.00..125.75 rows=8,039 width=0) (actual time=5.128..5.128 rows=9,422 loops=1)

  • Index Cond: ((romeo_three1.lima_romeo)::text = 'two_tango'::text)
  • Buffers: shared hit=2,156
12. 2.440 2.440 ↓ 1.3 3,273 1

Bitmap Index Scan on papa_yankee (cost=0.00..38.58 rows=2,430 width=0) (actual time=2.439..2.440 rows=3,273 loops=1)

  • Index Cond: ((romeo_three1.lima_romeo)::text = 'golf_juliet'::text)
  • Buffers: shared hit=3 read=249
13. 0.020 0.020 ↓ 0.0 0 1

Bitmap Index Scan on papa_yankee (cost=0.00..1.67 rows=1 width=0) (actual time=0.019..0.020 rows=0 loops=1)

  • Index Cond: ((romeo_three1.lima_romeo)::text = 'kilo'::text)
  • Buffers: shared hit=4
14. 0.015 0.015 ↓ 0.0 0 3

Index Scan using whiskey_juliet on victor_uniform india_november (cost=0.42..2.64 rows=1 width=45) (actual time=0.005..0.005 rows=0 loops=3)

  • Output: romeo_three3.quebec_seven, romeo_three3.delta_uniform_lima, romeo_three3.sierra_foxtrot, romeo_three3.charlie
  • Index Cond: (romeo_three1.quebec_seven = romeo_three3.sierra_foxtrot)
  • Buffers: shared hit=9
Planning time : 0.293 ms
Execution time : 13.697 ms