explain.depesz.com

PostgreSQL's explain analyze made readable

Result: qn0I

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

Limit (cost=498,742.860..498,743.110 rows=1 width=240) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Result (cost=498,742.860..498,743.110 rows=1 width=240) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Sort (cost=498,742.860..498,742.870 rows=1 width=425) (actual rows= loops=)

  • Sort Key: alpha.zulu_yankee DESC, alpha.india
4. 0.000 0.000 ↓ 0.0

WindowAgg (cost=104,952.140..498,742.850 rows=1 width=425) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=104,952.140..498,742.790 rows=1 width=371) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=104,948.700..498,739.330 rows=1 width=338) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=104,944.200..498,734.790 rows=1 width=274) (actual rows= loops=)

  • Join Filter: false
8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=104,944.200..498,734.780 rows=1 width=266) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=104,943.790..498,734.340 rows=1 width=261) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=104,943.370..498,733.860 rows=1 width=253) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash Join (cost=104,931.770..125,628.120 rows=32,066 width=1,380) (actual rows= loops=)

  • Hash Cond: (charlie.two_papa = alpha.quebec)
12. 0.000 0.000 ↓ 0.0

Index Scan using sierra_charlie on golf charlie (cost=0.430..19,710.470 rows=177,507 width=4) (actual rows= loops=)

  • Index Cond: (tango = ANY ('juliet_juliet'::integer[]))
  • Filter: (quebec five NOT NULL)
13. 0.000 0.000 ↓ 0.0

Hash (cost=104,312.810..104,312.810 rows=49,482 width=1,376) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Hash Join (cost=50,838.270..104,312.810 rows=49,482 width=1,376) (actual rows= loops=)

  • Hash Cond: (alpha.november_mike = four_kilo.quebec)
15. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on romeo_xray alpha (cost=4,376.710..56,916.750 rows=117,249 width=1,371) (actual rows= loops=)

  • Filter: (zulu_yankee AND (NOT seven))
16. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on echo_seven (cost=0.000..4,347.400 rows=136,904 width=0) (actual rows= loops=)

  • Index Cond: (zulu_yankee = true)
17. 0.000 0.000 ↓ 0.0

Hash (cost=45,668.150..45,668.150 rows=63,472 width=9) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on november_seven four_kilo (cost=1,770.340..45,668.150 rows=63,472 width=9) (actual rows= loops=)

  • Filter: (zulu_yankee AND (NOT seven))
19. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on four_five (cost=0.000..1,754.470 rows=72,327 width=0) (actual rows= loops=)

  • Index Cond: (zulu_yankee = true)
20. 0.000 0.000 ↓ 0.0

Subquery Scan on kilo (cost=11.600..11.630 rows=1 width=36) (actual rows= loops=)

  • Filter: (alpha.quebec = kilo.two_papa)
21. 0.000 0.000 ↓ 0.0

Aggregate (cost=11.600..11.610 rows=1 width=36) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Hash Join (cost=9.150..11.000 rows=22 width=64) (actual rows= loops=)

  • Hash Cond: ((echo_six.uniform)::integer = echo_tango.quebec)
23. 0.000 0.000 ↓ 0.0

Function Scan on sierra_papa echo_six (cost=0.000..1.000 rows=100 width=64) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Hash (cost=8.870..8.870 rows=22 width=4) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Merge Join (cost=0.270..8.870 rows=22 width=4) (actual rows= loops=)

  • Merge Cond: (echo_yankee.quebec = echo_tango.whiskey_three)
26. 0.000 0.000 ↓ 0.0

Index Only Scan using romeo_yankee on two_whiskey echo_yankee (cost=0.140..2.930 rows=13 width=4) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Index Scan using oscar on mike_four echo_tango (cost=0.140..5.850 rows=22 width=8) (actual rows= loops=)

  • Filter: ((bravo_three)::text = ANY ('foxtrot_delta'::text[]))
28. 0.000 0.000 ↓ 0.0

Index Scan using four_four on echo_uniform juliet_foxtrot (cost=0.420..0.470 rows=1 width=12) (actual rows= loops=)

  • Index Cond: (two_papa = alpha.quebec)
29. 0.000 0.000 ↓ 0.0

Index Scan using three on yankee_foxtrot foxtrot_bravo (cost=0.410..0.430 rows=1 width=13) (actual rows= loops=)

  • Index Cond: (two_papa = alpha.quebec)
30. 0.000 0.000 ↓ 0.0

Result (cost=0.000..0.000 rows=0 width=8) (actual rows= loops=)

  • One-Time Filter: false
31. 0.000 0.000 ↓ 0.0

Aggregate (cost=4.500..4.510 rows=1 width=64) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Index Scan using yankee_zulu on november_india (cost=0.420..4.490 rows=3 width=5) (actual rows= loops=)

  • Index Cond: (november_mike = alpha.november_mike)
  • Filter: (yankee_mike AND ((bravo_xray)::text <> 'whiskey_alpha'::text))
33. 0.000 0.000 ↓ 0.0

Aggregate (cost=3.440..3.450 rows=1 width=33) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Index Scan using juliet_zulu on zulu_india (cost=0.420..3.410 rows=2 width=32) (actual rows= loops=)

  • Index Cond: (two_papa = alpha.quebec)
  • Filter: ((mike_quebec)::text <> 'romeo_quebec'::text)