explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Cti

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

Limit (cost=336,597.950..336,598.200 rows=1 width=240) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Result (cost=336,597.950..336,598.200 rows=1 width=240) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Sort (cost=336,597.950..336,597.950 rows=1 width=425) (actual rows= loops=)

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

WindowAgg (cost=105,377.750..336,597.940 rows=1 width=425) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=105,377.750..336,597.880 rows=1 width=371) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=105,374.320..336,594.410 rows=1 width=338) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=105,369.820..336,589.880 rows=1 width=274) (actual rows= loops=)

  • Join Filter: false
8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=105,369.820..336,589.870 rows=1 width=266) (actual rows= loops=)

  • Join Filter: (foxtrot_bravo.two_papa = alpha.quebec)
9. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=105,369.820..336,242.410 rows=1 width=261) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=105,369.390..336,241.930 rows=1 width=253) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash Join (cost=105,362.670..119,555.930 rows=32,066 width=1,380) (actual rows= loops=)

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

Bitmap Heap Scan on golf charlie (cost=3,437.910..16,644.860 rows=177,507 width=4) (actual rows= loops=)

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

Bitmap Index Scan on sierra_charlie (cost=0.000..3,393.530 rows=177,507 width=0) (actual rows= loops=)

  • Index Cond: (tango = ANY ('juliet_juliet'::integer[]))
14. 0.000 0.000 ↓ 0.0

Hash (cost=101,306.240..101,306.240 rows=49,482 width=1,376) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Hash Join (cost=46,461.550..101,306.240 rows=49,482 width=1,376) (actual rows= loops=)

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

Seq Scan on romeo_xray alpha (cost=0.000..53,910.180 rows=117,249 width=1,371) (actual rows= loops=)

  • Filter: (zulu_yankee AND (NOT seven))
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=6.730..6.750 rows=1 width=36) (actual rows= loops=)

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

Aggregate (cost=6.730..6.740 rows=1 width=36) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Hash Join (cost=3.970..6.120 rows=22 width=64) (actual rows= loops=)

  • Hash Cond: (echo_tango.whiskey_three = echo_yankee.quebec)
23. 0.000 0.000 ↓ 0.0

Hash Join (cost=2.680..4.520 rows=22 width=68) (actual rows= loops=)

  • Hash Cond: ((echo_six.uniform)::integer = echo_tango.quebec)
24. 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=)

25. 0.000 0.000 ↓ 0.0

Hash (cost=2.400..2.400 rows=22 width=8) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Seq Scan on mike_four echo_tango (cost=0.000..2.400 rows=22 width=8) (actual rows= loops=)

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

Hash (cost=1.130..1.130 rows=13 width=4) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Seq Scan on two_whiskey echo_yankee (cost=0.000..1.130 rows=13 width=4) (actual rows= loops=)

29. 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)
30. 0.000 0.000 ↓ 0.0

Seq Scan on yankee_foxtrot foxtrot_bravo (cost=0.000..257.760 rows=7,176 width=13) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

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

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

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

33. 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))
34. 0.000 0.000 ↓ 0.0

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

35. 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)