explain.depesz.com

PostgreSQL's explain analyze made readable

Result: n4Ll

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

Sort (cost=16,501,737.700..16,501,738.200 rows=200 width=192) (actual rows= loops=)

  • Sort Key: alpha.two_india, alpha.five_two DESC
2.          

CTE tango

3. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1,769,621.660..16,501,637.360 rows=90 width=512) (actual rows= loops=)

  • Hash Cond: ((foxtrot_mike.sierra)::text = (two_golf7.papa_charlie)::text)
  • Filter: (((bravo_hotel(two_golf.mike_xray, two_golf1.mike_xray, two_golf2.mike_xray, two_golf3.mike_xray, two_golf4.mike_xray, two_golf5.mike_xray, two_golf6.mike_xray, two_golf7.mike_xray))::text = 'four_uniform'::text) AND ((yankee_six(two_golf.mike_xray, two_golf1.mike_xray, two_golf2.mike_xray, two_golf3.mike_xray, two_golf4.mike_xray, two_golf5.mike_xray, two_golf6.mike_xray, two_golf7.mike_xray))::text = 'oscar_yankee'::text))
4. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1,549,169.840..16,086,843.160 rows=3,611,606 width=34) (actual rows= loops=)

  • Hash Cond: ((foxtrot_mike.november_golf)::text = (two_golf6.papa_charlie)::text)
5. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1,328,718.020..15,708,181.210 rows=3,611,606 width=33) (actual rows= loops=)

  • Hash Cond: ((foxtrot_mike.november_uniform)::text = (two_golf5.papa_charlie)::text)
6. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=1,108,266.190..15,336,573.270 rows=3,611,606 width=32) (actual rows= loops=)

  • Hash Cond: ((foxtrot_mike.foxtrot_tango)::text = (two_golf4.papa_charlie)::text)
7. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=887,814.370..14,964,965.330 rows=3,611,606 width=31) (actual rows= loops=)

  • Hash Cond: ((foxtrot_mike.quebec_tango)::text = (two_golf3.papa_charlie)::text)
8. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=667,362.550..14,593,357.390 rows=3,611,606 width=30) (actual rows= loops=)

  • Hash Cond: ((foxtrot_mike.hotel)::text = (two_golf2.papa_charlie)::text)
9. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=446,910.730..14,221,749.440 rows=3,611,606 width=29) (actual rows= loops=)

  • Hash Cond: ((foxtrot_mike.zulu)::text = (two_golf1.papa_charlie)::text)
10. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=226,458.900..13,850,141.500 rows=3,611,606 width=28) (actual rows= loops=)

  • Hash Cond: ((foxtrot_mike.foxtrot_kilo)::text = (two_golf.papa_charlie)::text)
11. 0.000 0.000 ↓ 0.0

Nested Loop (cost=6,007.080..13,478,533.560 rows=3,611,606 width=27) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Seq Scan on three_papa lima_zulu_golf (cost=0.000..56.950 rows=13 width=6) (actual rows= loops=)

  • Filter: ((golf)::text = (golf)::text)
13. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on three_xray foxtrot_mike (cost=6,007.080..1,033,974.780 rows=283,111 width=32) (actual rows= loops=)

  • Recheck Cond: (((oscar_november_victor)::text = 'four_uniform'::text) AND ((delta)::text = (lima_zulu_golf.bravo_oscar)::text))
14. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on yankee_xray (cost=0.000..5,936.300 rows=283,111 width=0) (actual rows= loops=)

  • Index Cond: (((oscar_november_victor)::text = 'four_uniform'::text) AND ((delta)::text = (lima_zulu_golf.bravo_oscar)::text))
15. 0.000 0.000 ↓ 0.0

Hash (cost=115,269.810..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Seq Scan on whiskey two_golf (cost=0.000..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Hash (cost=115,269.810..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Seq Scan on whiskey india_charlie (cost=0.000..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Hash (cost=115,269.810..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Seq Scan on whiskey india_alpha (cost=0.000..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Hash (cost=115,269.810..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Seq Scan on whiskey echo_three (cost=0.000..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Hash (cost=115,269.810..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Seq Scan on whiskey six (cost=0.000..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Hash (cost=115,269.810..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Seq Scan on whiskey papa_quebec (cost=0.000..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Hash (cost=115,269.810..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Seq Scan on whiskey oscar_november_romeo (cost=0.000..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Hash (cost=115,269.810..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Seq Scan on whiskey kilo (cost=0.000..115,269.810 rows=6,050,881 width=12) (actual rows= loops=)

31.          

CTE lima_juliet

32. 0.000 0.000 ↓ 0.0

HashAggregate (cost=29.700..32.200 rows=200 width=96) (actual rows= loops=)

  • Group Key: tango.two_india1, tango.lima_charlie2
33. 0.000 0.000 ↓ 0.0

Append (cost=2.480..25.650 rows=540 width=72) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

HashAggregate (cost=2.480..3.380 rows=90 width=72) (actual rows= loops=)

  • Group Key: tango.two_india1, tango.lima_charlie2
35. 0.000 0.000 ↓ 0.0

CTE Scan on tango (cost=0.000..1.800 rows=90 width=64) (actual rows= loops=)

36. 0.000 0.000 ↓ 0.0

HashAggregate (cost=2.480..3.380 rows=90 width=72) (actual rows= loops=)

  • Group Key: lima_zulu_seven1.two_india1, lima_zulu_seven1.lima_charlie3
37. 0.000 0.000 ↓ 0.0

CTE Scan on tango two_papa (cost=0.000..1.800 rows=90 width=64) (actual rows= loops=)

38. 0.000 0.000 ↓ 0.0

HashAggregate (cost=2.480..3.380 rows=90 width=72) (actual rows= loops=)

  • Group Key: lima_zulu_seven2.two_india2, lima_zulu_seven2.lima_charlie1
39. 0.000 0.000 ↓ 0.0

CTE Scan on tango oscar_lima (cost=0.000..1.800 rows=90 width=64) (actual rows= loops=)

40. 0.000 0.000 ↓ 0.0

HashAggregate (cost=2.480..3.380 rows=90 width=72) (actual rows= loops=)

  • Group Key: lima_zulu_seven3.two_india2, lima_zulu_seven3.lima_charlie3
41. 0.000 0.000 ↓ 0.0

CTE Scan on tango quebec_india (cost=0.000..1.800 rows=90 width=64) (actual rows= loops=)

42. 0.000 0.000 ↓ 0.0

HashAggregate (cost=2.480..3.380 rows=90 width=72) (actual rows= loops=)

  • Group Key: lima_zulu_seven4.two_india3, lima_zulu_seven4.lima_charlie1
43. 0.000 0.000 ↓ 0.0

CTE Scan on tango four_foxtrot (cost=0.000..1.800 rows=90 width=64) (actual rows= loops=)

44. 0.000 0.000 ↓ 0.0

HashAggregate (cost=2.480..3.380 rows=90 width=72) (actual rows= loops=)

  • Group Key: lima_zulu_seven5.two_india3, lima_zulu_seven5.lima_charlie2
45. 0.000 0.000 ↓ 0.0

CTE Scan on tango four_whiskey (cost=0.000..1.800 rows=90 width=64) (actual rows= loops=)

46.          

CTE five_papa

47. 0.000 0.000 ↓ 0.0

HashAggregate (cost=5.000..7.500 rows=200 width=64) (actual rows= loops=)

  • Group Key: lima_juliet.lima_charlie
48. 0.000 0.000 ↓ 0.0

CTE Scan on lima_juliet (cost=0.000..4.000 rows=200 width=64) (actual rows= loops=)

49.          

CTE mike_two

50. 0.000 0.000 ↓ 0.0

HashAggregate (cost=5.000..7.500 rows=200 width=64) (actual rows= loops=)

  • Group Key: five_juliet1.two_india
51. 0.000 0.000 ↓ 0.0

CTE Scan on lima_juliet echo_romeo (cost=0.000..4.000 rows=200 width=64) (actual rows= loops=)

52. 0.000 0.000 ↓ 0.0

Hash Join (cost=13.000..45.500 rows=200 width=192) (actual rows= loops=)

  • Hash Cond: ((alpha.two_india)::text = (mike_two.papa_charlie)::text)
53. 0.000 0.000 ↓ 0.0

Hash Join (cost=6.500..18.000 rows=200 width=128) (actual rows= loops=)

  • Hash Cond: ((alpha.lima_charlie)::text = (five_papa.lima_charlie)::text)
54. 0.000 0.000 ↓ 0.0

CTE Scan on lima_juliet alpha (cost=0.000..4.000 rows=200 width=96) (actual rows= loops=)

55. 0.000 0.000 ↓ 0.0

Hash (cost=4.000..4.000 rows=200 width=64) (actual rows= loops=)

56. 0.000 0.000 ↓ 0.0

CTE Scan on five_papa (cost=0.000..4.000 rows=200 width=64) (actual rows= loops=)

57. 0.000 0.000 ↓ 0.0

Hash (cost=4.000..4.000 rows=200 width=64) (actual rows= loops=)

58. 0.000 0.000 ↓ 0.0

CTE Scan on mike_two (cost=0.000..4.000 rows=200 width=64) (actual rows= loops=)