explain.depesz.com

PostgreSQL's explain analyze made readable

Result: D0JO

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

Aggregate (cost=26,980.990..26,981.000 rows=1 width=64) (actual rows= loops=)

2.          

CTE alpha_sierra

3. 0.000 0.000 ↓ 0.0

Sort (cost=26,979.960..26,979.970 rows=1 width=1,284) (actual rows= loops=)

  • Sort Key: ((six."tango_mike" five_romeo NULL)), (golf_romeo((six."golf_foxtrot")::text)), (golf_romeo((six."india_charlie")::text)), (golf_romeo((six."five_quebec")::text)), (golf_romeo((six."whiskey_charlie")::text)), six."hotel_two hotel_xray
4.          

CTE xray_quebec

5. 0.000 0.000 ↓ 0.0

Seq Scan on xray_quebec (cost=0.000..1.760 rows=1 width=13) (actual rows= loops=)

  • Filter: (quebec_seven = 13)
6.          

CTE whiskey_foxtrot

7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=160.060..10,751.190 rows=4,414 width=678) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=159.630..5,510.270 rows=6,362 width=4) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

CTE Scan on xray_quebec quebec_yankee (cost=0.000..0.020 rows=1 width=4) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on quebec_oscar (cost=159.630..5,446.630 rows=6,362 width=8) (actual rows= loops=)

  • Recheck Cond: ((four_two = india_zulu1.quebec_seven) AND (yankee five_romeo NULL))
11. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on echo_papa (cost=0.000..158.040 rows=6,362 width=0) (actual rows= loops=)

  • Index Cond: ((four_two = india_zulu1.quebec_seven) AND (yankee five_romeo NULL))
12. 0.000 0.000 ↓ 0.0

Index Scan using kilo on quebec_golf (cost=0.420..0.800 rows=1 width=678) (actual rows= loops=)

  • Index Cond: (sierra_three = quebec_oscar.quebec_seven)
  • Filter: (yankee five_romeo NULL)
13.          

CTE uniform_foxtrot

14. 0.000 0.000 ↓ 0.0

Function Scan on charlie_yankee lima_charlie (cost=0.000..10.000 rows=1,000 width=332) (actual rows= loops=)

15.          

CTE papa_bravo

16. 0.000 0.000 ↓ 0.0

Unique (cost=11,939.580..11,968.120 rows=5,707 width=16) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Sort (cost=11,939.580..11,953.850 rows=5,707 width=16) (actual rows= loops=)

  • Sort Key: papa_bravo.sierra_three, papa_bravo.five_echo
18. 0.000 0.000 ↓ 0.0

Nested Loop (cost=160.480..11,583.510 rows=5,707 width=16) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Nested Loop (cost=160.060..9,009.490 rows=4,419 width=4) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Nested Loop (cost=159.630..5,510.270 rows=6,362 width=8) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

CTE Scan on xray_quebec xray_oscar (cost=0.000..0.020 rows=1 width=4) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on quebec_oscar xray_whiskey (cost=159.630..5,446.630 rows=6,362 width=12) (actual rows= loops=)

  • Recheck Cond: ((four_two = india_zulu2.quebec_seven) AND (yankee five_romeo NULL))
23. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on echo_papa (cost=0.000..158.040 rows=6,362 width=0) (actual rows= loops=)

  • Index Cond: ((four_two = india_zulu2.quebec_seven) AND (yankee five_romeo NULL))
24. 0.000 0.000 ↓ 0.0

Index Scan using lima_hotel on foxtrot_uniform (cost=0.420..0.540 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (quebec_seven = whiskey_mike1.xray_two)
  • Filter: (yankee five_romeo NULL)
25. 0.000 0.000 ↓ 0.0

Index Scan using three_quebec on papa_bravo (cost=0.420..0.550 rows=3 width=16) (actual rows= loops=)

  • Index Cond: (sierra_three = whiskey_mike1.quebec_seven)
  • Filter: (five_echo <= 'alpha_kilo'::date)
26.          

CTE six

27. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4,113.100..4,248.850 rows=1 width=693) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4,112.950..4,248.660 rows=1 width=682) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4,112.670..4,248.350 rows=1 width=677) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=4,112.250..4,247.800 rows=1 width=677) (actual rows= loops=)

  • Hash Cond: (mike_charlie1.sierra_three = whiskey_mike2.quebec_seven)
31. 0.000 0.000 ↓ 0.0

CTE Scan on papa_bravo victor_lima (cost=0.000..114.140 rows=5,707 width=36) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Hash (cost=4,112.240..4,112.240 rows=1 width=649) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Hash Join (cost=4,007.270..4,112.240 rows=1 width=649) (actual rows= loops=)

  • Hash Cond: (whiskey_mike2.four_two = india_zulu3.quebec_seven)
34. 0.000 0.000 ↓ 0.0

Hash Join (cost=4,007.240..4,112.160 rows=9 width=653) (actual rows= loops=)

  • Hash Cond: (whiskey_foxtrot.sierra_three = whiskey_mike2.quebec_seven)
35. 0.000 0.000 ↓ 0.0

CTE Scan on whiskey_foxtrot (cost=0.000..88.280 rows=4,414 width=292) (actual rows= loops=)

36. 0.000 0.000 ↓ 0.0

Hash (cost=3,998.500..3,998.500 rows=699 width=369) (actual rows= loops=)

37. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.420..3,998.500 rows=699 width=369) (actual rows= loops=)

38. 0.000 0.000 ↓ 0.0

CTE Scan on uniform_foxtrot (cost=0.000..20.000 rows=1,000 width=328) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Index Scan using romeo on quebec_oscar golf_hotel (cost=0.420..3.970 rows=1 width=41) (actual rows= loops=)

  • Index Cond: (quebec_seven = uniform_foxtrot.sierra_three)
  • Filter: (yankee five_romeo NULL)
40. 0.000 0.000 ↓ 0.0

Hash (cost=0.020..0.020 rows=1 width=4) (actual rows= loops=)

41. 0.000 0.000 ↓ 0.0

CTE Scan on xray_quebec xray_tango (cost=0.000..0.020 rows=1 width=4) (actual rows= loops=)

42. 0.000 0.000 ↓ 0.0

Index Scan using lima_hotel on foxtrot_uniform golf_delta (cost=0.420..0.540 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (quebec_seven = whiskey_mike2.xray_two)
  • Filter: (yankee five_romeo NULL)
43. 0.000 0.000 ↓ 0.0

Index Scan using alpha_six on quebec_four five_oscar (cost=0.280..0.300 rows=1 width=13) (actual rows= loops=)

  • Index Cond: (quebec_seven = foxtrot_alpha1.uniform_xray)
44. 0.000 0.000 ↓ 0.0

Index Scan using india_papa on november_whiskey bravo_charlie (cost=0.140..0.180 rows=1 width=19) (actual rows= loops=)

  • Index Cond: (quebec_seven = uniform_foxtrot.tango_india)
45. 0.000 0.000 ↓ 0.0

CTE Scan on six (cost=0.000..0.030 rows=1 width=1,284) (actual rows= loops=)

46.          

CTE november_whiskey

47. 0.000 0.000 ↓ 0.0

Result (cost=0.070..0.080 rows=1 width=0) (actual rows= loops=)

48.          

Initplan (for Result)

49. 0.000 0.000 ↓ 0.0

Sort (cost=0.060..0.070 rows=1 width=548) (actual rows= loops=)

  • Sort Key: (golf_romeo((delta.november_lima)::text))
50. 0.000 0.000 ↓ 0.0

Subquery Scan on delta (cost=0.030..0.050 rows=1 width=548) (actual rows= loops=)

51. 0.000 0.000 ↓ 0.0

Unique (cost=0.030..0.040 rows=1 width=548) (actual rows= loops=)

52. 0.000 0.000 ↓ 0.0

Sort (cost=0.030..0.040 rows=1 width=548) (actual rows= loops=)

  • Sort Key: charlie_juliet1."bravo_three
53. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima three_juliet (cost=0.000..0.020 rows=1 width=548) (actual rows= loops=)

54.          

CTE quebec_four

55. 0.000 0.000 ↓ 0.0

Result (cost=0.040..0.050 rows=1 width=0) (actual rows= loops=)

56.          

Initplan (for Result)

57. 0.000 0.000 ↓ 0.0

Unique (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

58. 0.000 0.000 ↓ 0.0

Sort (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

  • Sort Key: (golf_romeo((charlie_juliet2."golf_foxtrot")::text))
59. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima five_victor (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)

60.          

CTE seven_papa

61. 0.000 0.000 ↓ 0.0

Result (cost=0.080..0.090 rows=1 width=0) (actual rows= loops=)

62.          

Initplan (for Result)

63. 0.000 0.000 ↓ 0.0

Sort (cost=0.080..0.080 rows=1 width=100) (actual rows= loops=)

  • Sort Key: (golf_romeo((india_kilo.mike_oscar)::text)), (golf_romeo((india_kilo.november_lima)::text)), (golf_romeo((india_kilo.juliet_kilo)::text))
64. 0.000 0.000 ↓ 0.0

Subquery Scan on india_kilo (cost=0.040..0.070 rows=1 width=100) (actual rows= loops=)

65. 0.000 0.000 ↓ 0.0

Unique (cost=0.040..0.050 rows=1 width=128) (actual rows= loops=)

66. 0.000 0.000 ↓ 0.0

Sort (cost=0.040..0.040 rows=1 width=128) (actual rows= loops=)

  • Sort Key: ((xray_lima(charlie_juliet3.quebec_seven, 'sierra_lima'::text, 1))::integer)
67. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima victor_alpha (cost=0.000..0.030 rows=1 width=128) (actual rows= loops=)

68.          

CTE sierra_victor

69. 0.000 0.000 ↓ 0.0

Aggregate (cost=0.580..0.590 rows=1 width=64) (actual rows= loops=)

70. 0.000 0.000 ↓ 0.0

Append (cost=0.050..0.560 rows=9 width=64) (actual rows= loops=)

71. 0.000 0.000 ↓ 0.0

Result (cost=0.050..0.060 rows=1 width=0) (actual rows= loops=)

72.          

Initplan (for Result)

73. 0.000 0.000 ↓ 0.0

Unique (cost=0.040..0.050 rows=1 width=32) (actual rows= loops=)

74. 0.000 0.000 ↓ 0.0

Sort (cost=0.040..0.050 rows=1 width=32) (actual rows= loops=)

  • Sort Key: (("zulu_quebec"(charlie_juliet4."foxtrot_romeo", 'two'::text))::double precision), ("zulu_quebec"(charlie_juliet4."foxtrot_romeo", 'alpha_yankee'::text))
75. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima four_tango (cost=0.000..0.030 rows=1 width=32) (actual rows= loops=)

76. 0.000 0.000 ↓ 0.0

Result (cost=0.040..0.050 rows=1 width=0) (actual rows= loops=)

77.          

Initplan (for Result)

78. 0.000 0.000 ↓ 0.0

Unique (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

79. 0.000 0.000 ↓ 0.0

Sort (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

  • Sort Key: (golf_romeo(charlie_juliet5."seven_alpha"))
80. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima echo_seven (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)

81. 0.000 0.000 ↓ 0.0

Result (cost=0.040..0.050 rows=1 width=0) (actual rows= loops=)

82.          

Initplan (for Result)

83. 0.000 0.000 ↓ 0.0

Unique (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

84. 0.000 0.000 ↓ 0.0

Sort (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

  • Sort Key: (golf_romeo(charlie_juliet6."india_golf"))
85. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima hotel_bravo (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)

86. 0.000 0.000 ↓ 0.0

Result (cost=0.040..0.050 rows=1 width=0) (actual rows= loops=)

87.          

Initplan (for Result)

88. 0.000 0.000 ↓ 0.0

Unique (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

89. 0.000 0.000 ↓ 0.0

Sort (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

  • Sort Key: (golf_romeo(charlie_juliet7."uniform_zulu"))
90. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima uniform_whiskey (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)

91. 0.000 0.000 ↓ 0.0

Result (cost=0.040..0.050 rows=1 width=0) (actual rows= loops=)

92.          

Initplan (for Result)

93. 0.000 0.000 ↓ 0.0

Unique (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

94. 0.000 0.000 ↓ 0.0

Sort (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

  • Sort Key: (golf_romeo(charlie_juliet8."november_bravo"))
95. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima golf_tango (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)

96. 0.000 0.000 ↓ 0.0

Result (cost=0.040..0.050 rows=1 width=0) (actual rows= loops=)

97.          

Initplan (for Result)

98. 0.000 0.000 ↓ 0.0

Unique (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

99. 0.000 0.000 ↓ 0.0

Sort (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

  • Sort Key: (golf_romeo(charlie_juliet9."tango_alpha"))
100. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima november_uniform (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)

101. 0.000 0.000 ↓ 0.0

Result (cost=0.050..0.060 rows=1 width=0) (actual rows= loops=)

102.          

Initplan (for Result)

103. 0.000 0.000 ↓ 0.0

Unique (cost=0.040..0.050 rows=1 width=32) (actual rows= loops=)

104. 0.000 0.000 ↓ 0.0

Sort (cost=0.040..0.050 rows=1 width=32) (actual rows= loops=)

  • Sort Key: (("zulu_quebec"(charlie_juliet10."echo_three", 'two'::text))::double precision), ("zulu_quebec"(charlie_juliet10."echo_three", 'alpha_yankee'::text))
105. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima juliet_hotel (cost=0.000..0.030 rows=1 width=32) (actual rows= loops=)

106. 0.000 0.000 ↓ 0.0

Result (cost=0.040..0.050 rows=1 width=0) (actual rows= loops=)

107.          

Initplan (for Result)

108. 0.000 0.000 ↓ 0.0

Unique (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

109. 0.000 0.000 ↓ 0.0

Sort (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

  • Sort Key: (golf_romeo(charlie_juliet11."zulu_oscar"))
110. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima papa_oscar (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)

111. 0.000 0.000 ↓ 0.0

Result (cost=0.040..0.050 rows=1 width=0) (actual rows= loops=)

112.          

Initplan (for Result)

113. 0.000 0.000 ↓ 0.0

Unique (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

114. 0.000 0.000 ↓ 0.0

Sort (cost=0.030..0.040 rows=1 width=32) (actual rows= loops=)

  • Sort Key: (golf_romeo(charlie_juliet12."tango_charlie"))
115. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima charlie_six (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)

116. 0.000 0.000 ↓ 0.0

Append (cost=0.030..0.200 rows=3 width=64) (actual rows= loops=)

117. 0.000 0.000 ↓ 0.0

Aggregate (cost=0.030..0.040 rows=1 width=24) (actual rows= loops=)

118. 0.000 0.000 ↓ 0.0

CTE Scan on echo_lima (cost=0.000..0.020 rows=1 width=24) (actual rows= loops=)

119. 0.000 0.000 ↓ 0.0

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

120. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.000..0.120 rows=1 width=128) (actual rows= loops=)

121. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.000..0.080 rows=1 width=96) (actual rows= loops=)

122. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.000..0.050 rows=1 width=64) (actual rows= loops=)

123. 0.000 0.000 ↓ 0.0

CTE Scan on november_whiskey (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)

124. 0.000 0.000 ↓ 0.0

CTE Scan on quebec_four (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)

125. 0.000 0.000 ↓ 0.0

CTE Scan on seven_papa (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)

126. 0.000 0.000 ↓ 0.0

CTE Scan on sierra_victor (cost=0.000..0.020 rows=1 width=32) (actual rows= loops=)