explain.depesz.com

PostgreSQL's explain analyze made readable

Result: lhX7 : Optimization for: Optimization for: Optimization for: plan #xqbp; plan #4dN; plan #rnWA

Settings

Optimization path:

# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Limit (cost=4,522,371.040..4,522,371.140 rows=10 width=44) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Unique (cost=4,522,371.040..4,522,570.300 rows=19,926 width=44) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Sort (cost=4,522,371.040..4,522,420.850 rows=19,926 width=44) (actual rows= loops=)

  • Sort Key: (((juliet_india1.six_mike ->> 'hotel'::text))::double precision) DESC, (lima_sierra(kilo5.lima_tango, 'uniform_romeo'::character varying)), kilo2.xray_india
4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3,516,503.170..4,520,948.090 rows=19,926 width=44) (actual rows= loops=)

  • Join Filter: (kilo2.quebec_seven = quebec_sierra3.romeo_lima)
5. 0.000 0.000 ↓ 0.0

Merge Left Join (cost=3,516,502.600..4,181,010.050 rows=10,533 width=55) (actual rows= loops=)

  • Merge Cond: (kilo2.xray_india = kilo5.xray_india)
  • Join Filter: (uniform_delta0.juliet_victor = kilo5.juliet_victor)
6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3,516,460.180..4,180,941.240 rows=10,533 width=52) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Merge Join (cost=3,516,459.600..3,524,690.740 rows=28,469 width=48) (actual rows= loops=)

  • Merge Cond: (kilo2.xray_india = (((juliet_india1.six_mike ->> 'yankee_foxtrot'::text))::integer))
8. 0.000 0.000 ↓ 0.0

Sort (cost=3,513,627.040..3,515,141.330 rows=605,716 width=8) (actual rows= loops=)

  • Sort Key: kilo2.xray_india
9. 0.000 0.000 ↓ 0.0

Seq Scan on delta yankee_xray (cost=0.000..3,447,168.720 rows=605,716 width=8) (actual rows= loops=)

  • Filter: ((lima_sierra(papa_three_two, yankee_kilo) <= 'lima_xray'::date) AND (lima_sierra(papa_three_two, yankee_kilo) >= 'xray_three'::date))
10. 0.000 0.000 ↓ 0.0

Sort (cost=2,832.570..2,907.570 rows=30,000 width=40) (actual rows= loops=)

  • Sort Key: (((juliet_india1.six_mike ->> 'yankee_foxtrot'::text))::integer)
11. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.000..601.670 rows=30,000 width=40) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Seq Scan on oscar_yankee foxtrot (cost=0.000..1.660 rows=3 width=29) (actual rows= loops=)

  • Filter: (juliet_victor = 1095)
13. 0.000 0.000 ↓ 0.0

Function Scan on charlie yankee_charlie (cost=0.000..100.000 rows=10,000 width=32) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Index Scan using alpha_romeo on tango three_november (cost=0.570..23.040 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (romeo_lima = kilo2.quebec_seven)
  • Filter: (oscar_india ~~ 'six_kilo'::text)
15. 0.000 0.000 ↓ 0.0

Sort (cost=42.420..42.450 rows=9 width=23) (actual rows= loops=)

  • Sort Key: kilo5.xray_india
16. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on victor india (cost=4.370..42.280 rows=9 width=23) (actual rows= loops=)

  • Recheck Cond: (juliet_victor = 1095)
  • Filter: ((lima_tango)::text = ANY ('papa_three_six'::text[]))
17. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on golf (cost=0.000..4.370 rows=11 width=0) (actual rows= loops=)

  • Index Cond: (juliet_victor = 1095)
18. 0.000 0.000 ↓ 0.0

Index Scan using three_hotel on five uniform_yankee (cost=0.570..32.220 rows=3 width=4) (actual rows= loops=)

  • Index Cond: (romeo_lima = alpha_quebec4.romeo_lima)
  • Filter: ((lima_romeo ~~ 'sierra'::text) OR (lima_romeo ~~ 'romeo_two'::text))