explain.depesz.com

PostgreSQL's explain analyze made readable

Result: XZvN

Settings

Optimization(s) for this plan:

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

HashAggregate (cost=110,586,938.79..110,587,467.45 rows=9,612 width=179) (actual rows= loops=)

2.          

CTE echo_seven

3. 0.000 0.000 ↓ 0.0

Hash Join (cost=189,206.58..264,740.70 rows=173,816 width=544) (actual rows= loops=)

  • Hash Cond: (golf_five.hotel_golf_india = four_bravo.hotel_golf_india)
4. 0.000 0.000 ↓ 0.0

Index Only Scan using foxtrot on kilo_six golf_five (cost=0.00..63,865.44 rows=1,489,363 width=10) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Hash (cost=180,126.47..180,126.47 rows=279,388 width=554) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Hash Join (cost=970.31..180,126.47 rows=279,388 width=554) (actual rows= loops=)

  • Hash Cond: (four_bravo.kilo_november = bravo_two.two_romeo)
7. 0.000 0.000 ↓ 0.0

Seq Scan on five_alpha four_bravo (cost=0.00..161,797.13 rows=2,393,971 width=26) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Hash (cost=968.65..968.65 rows=51 width=552) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Subquery Scan on bravo_two (cost=0.00..968.65 rows=51 width=552) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Append (cost=0.00..967.12 rows=51 width=122) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Index Scan using victor_yankee on five_quebec six_mike (cost=0.00..4.30 rows=1 width=57) (actual rows= loops=)

  • Index Cond: (quebec_five = 0::numeric)
  • Filter: (((yankee_zulu)::text = ANY ('golf_two'::text[])) AND (zulu = 9,999::numeric) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])))
12. 0.000 0.000 ↓ 0.0

Nested Loop (cost=2.76..57.21 rows=12 width=82) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Index Scan using victor_yankee on five_quebec hotel_golf_uniform (cost=0.00..4.29 rows=1 width=25) (actual rows= loops=)

  • Index Cond: (quebec_five = 0::numeric)
  • Filter: (zulu = 9,999::numeric)
14. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on five_quebec six_mike (cost=2.76..52.56 rows=12 width=62) (actual rows= loops=)

  • Recheck Cond: (zulu = 0::numeric)
  • Filter: (((yankee_zulu)::text = ANY ('golf_two'::text[])) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])))
15. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on alpha_echo (cost=0.00..2.75 rows=67 width=0) (actual rows= loops=)

  • Index Cond: (zulu = 0::numeric)
16. 0.000 0.000 ↓ 0.0

Nested Loop (cost=54.08..162.84 rows=11 width=107) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Index Scan using victor_yankee on five_quebec hotel_golf_uniform (cost=0.00..4.29 rows=1 width=25) (actual rows= loops=)

  • Index Cond: (quebec_five = 0::numeric)
  • Filter: (zulu = 9,999::numeric)
18. 0.000 0.000 ↓ 0.0

Hash Join (cost=54.08..158.22 rows=11 width=87) (actual rows= loops=)

  • Hash Cond: (six_mike.zulu = alpha_seven2.quebec_five)
19. 0.000 0.000 ↓ 0.0

Seq Scan on five_quebec six_mike (cost=0.00..103.00 rows=216 width=62) (actual rows= loops=)

  • Filter: (((yankee_zulu)::text = ANY ('golf_two'::text[])) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])))
20. 0.000 0.000 ↓ 0.0

Hash (cost=51.91..51.91 rows=67 width=30) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on five_quebec sierra_victor (cost=2.77..51.91 rows=67 width=30) (actual rows= loops=)

  • Recheck Cond: (zulu = 0::numeric)
22. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on alpha_echo (cost=0.00..2.75 rows=67 width=0) (actual rows= loops=)

  • Index Cond: (zulu = 0::numeric)
23. 0.000 0.000 ↓ 0.0

Nested Loop (cost=54.08..200.66 rows=10 width=132) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Index Scan using victor_yankee on five_quebec hotel_golf_uniform (cost=0.00..4.29 rows=1 width=25) (actual rows= loops=)

  • Index Cond: (quebec_five = 0::numeric)
  • Filter: (zulu = 9,999::numeric)
25. 0.000 0.000 ↓ 0.0

Nested Loop (cost=54.08..196.07 rows=10 width=112) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Hash Join (cost=54.08..151.26 rows=61 width=55) (actual rows= loops=)

  • Hash Cond: (alpha_seven3.zulu = alpha_seven2.quebec_five)
27. 0.000 0.000 ↓ 0.0

Seq Scan on five_quebec yankee_oscar (cost=0.00..90.75 rows=1,225 width=30) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Hash (cost=51.91..51.91 rows=67 width=30) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on five_quebec sierra_victor (cost=2.77..51.91 rows=67 width=30) (actual rows= loops=)

  • Recheck Cond: (zulu = 0::numeric)
30. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on alpha_echo (cost=0.00..2.75 rows=67 width=0) (actual rows= loops=)

  • Index Cond: (zulu = 0::numeric)
31. 0.000 0.000 ↓ 0.0

Index Scan using alpha_echo on five_quebec six_mike (cost=0.00..0.70 rows=1 width=62) (actual rows= loops=)

  • Index Cond: (zulu = alpha_seven3.quebec_five)
  • Filter: (((yankee_zulu)::text = ANY ('golf_two'::text[])) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])))
32. 0.000 0.000 ↓ 0.0

Subquery Scan on uniform_papa (cost=54.08..248.76 rows=9 width=157) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Nested Loop (cost=54.08..248.49 rows=9 width=157) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Index Scan using victor_yankee on five_quebec hotel_golf_uniform (cost=0.00..4.29 rows=1 width=25) (actual rows= loops=)

  • Index Cond: (quebec_five = 0::numeric)
  • Filter: (zulu = 9,999::numeric)
35. 0.000 0.000 ↓ 0.0

Nested Loop (cost=54.08..243.93 rows=9 width=137) (actual rows= loops=)

36. 0.000 0.000 ↓ 0.0

Nested Loop (cost=54.08..202.78 rows=56 width=80) (actual rows= loops=)

37. 0.000 0.000 ↓ 0.0

Hash Join (cost=54.08..151.26 rows=61 width=55) (actual rows= loops=)

  • Hash Cond: (alpha_seven3.zulu = alpha_seven2.quebec_five)
38. 0.000 0.000 ↓ 0.0

Seq Scan on five_quebec yankee_oscar (cost=0.00..90.75 rows=1,225 width=30) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Hash (cost=51.91..51.91 rows=67 width=30) (actual rows= loops=)

40. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on five_quebec sierra_victor (cost=2.77..51.91 rows=67 width=30) (actual rows= loops=)

  • Recheck Cond: (zulu = 0::numeric)
41. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on alpha_echo (cost=0.00..2.75 rows=67 width=0) (actual rows= loops=)

  • Index Cond: (zulu = 0::numeric)
42. 0.000 0.000 ↓ 0.0

Index Scan using alpha_echo on five_quebec victor_november (cost=0.00..0.63 rows=7 width=30) (actual rows= loops=)

  • Index Cond: (zulu = alpha_seven3.quebec_five)
43. 0.000 0.000 ↓ 0.0

Index Scan using alpha_echo on five_quebec six_mike (cost=0.00..0.70 rows=1 width=62) (actual rows= loops=)

  • Index Cond: (zulu = alpha_seven4.quebec_five)
  • Filter: (((yankee_zulu)::text = ANY ('golf_two'::text[])) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])))
44. 0.000 0.000 ↓ 0.0

Subquery Scan on oscar_mike (cost=54.08..292.33 rows=8 width=157) (actual rows= loops=)

45. 0.000 0.000 ↓ 0.0

Nested Loop (cost=54.08..292.09 rows=8 width=157) (actual rows= loops=)

46. 0.000 0.000 ↓ 0.0

Index Scan using victor_yankee on five_quebec hotel_golf_uniform (cost=0.00..4.29 rows=1 width=25) (actual rows= loops=)

  • Index Cond: (quebec_five = 0::numeric)
  • Filter: (zulu = 9,999::numeric)
47. 0.000 0.000 ↓ 0.0

Nested Loop (cost=54.08..287.56 rows=8 width=137) (actual rows= loops=)

48. 0.000 0.000 ↓ 0.0

Nested Loop (cost=54.08..250.09 rows=51 width=86) (actual rows= loops=)

49. 0.000 0.000 ↓ 0.0

Nested Loop (cost=54.08..202.78 rows=56 width=80) (actual rows= loops=)

50. 0.000 0.000 ↓ 0.0

Hash Join (cost=54.08..151.26 rows=61 width=55) (actual rows= loops=)

  • Hash Cond: (alpha_seven3.zulu = alpha_seven2.quebec_five)
51. 0.000 0.000 ↓ 0.0

Seq Scan on five_quebec yankee_oscar (cost=0.00..90.75 rows=1,225 width=30) (actual rows= loops=)

52. 0.000 0.000 ↓ 0.0

Hash (cost=51.91..51.91 rows=67 width=30) (actual rows= loops=)

53. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on five_quebec sierra_victor (cost=2.77..51.91 rows=67 width=30) (actual rows= loops=)

  • Recheck Cond: (zulu = 0::numeric)
54. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on alpha_echo (cost=0.00..2.75 rows=67 width=0) (actual rows= loops=)

  • Index Cond: (zulu = 0::numeric)
55. 0.000 0.000 ↓ 0.0

Index Scan using alpha_echo on five_quebec victor_november (cost=0.00..0.63 rows=7 width=30) (actual rows= loops=)

  • Index Cond: (zulu = alpha_seven3.quebec_five)
56. 0.000 0.000 ↓ 0.0

Index Scan using alpha_echo on five_quebec delta_oscar_yankee (cost=0.00..0.63 rows=7 width=11) (actual rows= loops=)

  • Index Cond: (zulu = alpha_seven4.quebec_five)
57. 0.000 0.000 ↓ 0.0

Index Scan using alpha_echo on five_quebec six_mike (cost=0.00..0.70 rows=1 width=62) (actual rows= loops=)

  • Index Cond: (zulu = alpha_seven5.quebec_five)
  • Filter: (((yankee_zulu)::text = ANY ('golf_two'::text[])) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])) AND ((xray_six)::text = ANY ('delta_oscar_three'::text[])))
58.          

CTE oscar_kilo

59. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=106,412,557.32..107,430,123.00 rows=6,235,841 width=579) (actual rows= loops=)

60. 0.000 0.000 ↓ 0.0

Sort (cost=106,412,557.32..106,441,006.65 rows=11,379,734 width=579) (actual rows= loops=)

  • Sort Key: bravo_three.golf_sierra, bravo_three.quebec_yankee, yankee_five.hotel_tango, charlie_romeo.india, charlie_romeo.lima_seven, yankee_five.five_delta
61. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..102,967,379.57 rows=11,379,734 width=579) (actual rows= loops=)

  • Join Filter: ((CASE WHEN ((charlie_romeo.sierra_delta)::text = 'echo_quebec'::text) THEN charlie_romeo.charlie_quebec WHEN ((bravo_three.quebec_yankee)::text ~~* 'seven_six'::text) THEN charlie_romeo.charlie_oscar ELSE charlie_romeo.charlie_echo END)::text = bravo_three.seven_zulu)
62. 0.000 0.000 ↓ 0.0

CTE Scan on echo_seven bravo_three (cost=0.00..10,428.96 rows=173,816 width=566) (actual rows= loops=)

63. 0.000 0.000 ↓ 0.0

Materialize (cost=0.00..539,381.66 rows=13,094 width=76) (actual rows= loops=)

64. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=0.00..539,316.19 rows=13,094 width=76) (actual rows= loops=)

65. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..535,027.33 rows=13,094 width=76) (actual rows= loops=)

66. 0.000 0.000 ↓ 0.0

Seq Scan on charlie_papa charlie_romeo (cost=0.00..484,439.15 rows=13,172 width=59) (actual rows= loops=)

  • Filter: ((((charlie_echo)::text <> 'lima_golf'::text) OR (charlie_echo five_romeo NULL)) AND ((mike)::text <> 'six_november'::text) AND ((india)::text = ANY ('xray_quebec'::text[])) AND ((sierra_kilo)::text = 'uniform_five'::text) AND (delta_two(sierra_papa) >= 'xray_echo'::timestamp without time zone) AND (delta_two(sierra_papa) <= 'alpha_mike'::timestamp without time zone))
67. 0.000 0.000 ↓ 0.0

Index Scan using golf_lima on bravo_november yankee_five (cost=0.00..3.81 rows=1 width=45) (actual rows= loops=)

  • Index Cond: ((victor_xray)::text = (charlie_romeo.four_charlie)::text)
  • Filter: ((five_delta)::text <> november_november ('six_uniform'::text[]))
68. 0.000 0.000 ↓ 0.0

Index Scan using three on five_xray romeo_four (cost=0.00..0.30 rows=1 width=18) (actual rows= loops=)

  • Index Cond: ((hotel_tango)::text = (yankee_five.hotel_tango)::text)
  • Filter: ((delta_yankee)::text = ANY ('november_bravo'::text[]))
69. 0.000 0.000 ↓ 0.0

Append (cost=420,944.21..2,888,711.14 rows=96,113 width=179) (actual rows= loops=)

70. 0.000 0.000 ↓ 0.0

Subquery Scan on victor_victor (cost=420,944.21..420,951.71 rows=125 width=284) (actual rows= loops=)

71. 0.000 0.000 ↓ 0.0

HashAggregate (cost=420,944.21..420,947.96 rows=125 width=818) (actual rows= loops=)

72. 0.000 0.000 ↓ 0.0

CTE Scan on oscar_kilo (cost=0.00..420,919.27 rows=1,247 width=818) (actual rows= loops=)

  • Filter: (((oscar_three)::text = ANY ('xray_quebec'::text[])) AND ((romeo_two)::text = ANY ('victor_sierra'::text[])))
73. 0.000 0.000 ↓ 0.0

Subquery Scan on echo_uniform (cost=467,715.36..467,724.72 rows=156 width=278) (actual rows= loops=)

74. 0.000 0.000 ↓ 0.0

HashAggregate (cost=467,715.36..467,720.04 rows=156 width=780) (actual rows= loops=)

75. 0.000 0.000 ↓ 0.0

CTE Scan on oscar_kilo (cost=0.00..467,688.08 rows=1,559 width=780) (actual rows= loops=)

  • Filter: (((oscar_three)::text = 'golf_xray'::text) AND ((romeo_two)::text = ANY ('delta_alpha'::text[])))
76. 0.000 0.000 ↓ 0.0

Subquery Scan on bravo_seven (cost=1,135,919.69..1,136,402.99 rows=8,055 width=179) (actual rows= loops=)

77. 0.000 0.000 ↓ 0.0

HashAggregate (cost=1,135,919.69..1,136,161.34 rows=8,055 width=566) (actual rows= loops=)

78. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..1,129,673.18 rows=108,635 width=566) (actual rows= loops=)

  • Join Filter: ((CASE WHEN ((charlie_romeo.sierra_delta)::text = 'echo_quebec'::text) THEN charlie_romeo.charlie_quebec WHEN ((bravo_three.quebec_yankee)::text ~~* 'seven_six'::text) THEN charlie_romeo.charlie_oscar ELSE charlie_romeo.charlie_echo END)::text = bravo_three.seven_zulu)
79. 0.000 0.000 ↓ 0.0

CTE Scan on echo_seven bravo_three (cost=0.00..10,428.96 rows=173,816 width=566) (actual rows= loops=)

80. 0.000 0.000 ↓ 0.0

Materialize (cost=0.00..141,529.53 rows=125 width=63) (actual rows= loops=)

81. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..141,528.90 rows=125 width=63) (actual rows= loops=)

82. 0.000 0.000 ↓ 0.0

Index Scan using seven_seven on bravo_november lima_victor (cost=0.00..32,934.65 rows=30,899 width=38) (actual rows= loops=)

  • Index Cond: ((five_delta)::text = ANY ('six_uniform'::text[]))
83. 0.000 0.000 ↓ 0.0

Index Scan using kilo_quebec on charlie_papa charlie_romeo (cost=0.00..3.48 rows=1 width=53) (actual rows= loops=)

  • Index Cond: ((four_charlie)::text = (lima_victor.victor_xray)::text)
  • Filter: ((((charlie_echo)::text <> 'lima_golf'::text) OR (charlie_echo five_romeo NULL)) AND ((sierra_kilo)::text = 'uniform_five'::text) AND (delta_two(sierra_papa) >= 'xray_echo'::timestamp without time zone) AND (delta_two(sierra_papa) <= 'alpha_mike'::timestamp without time zone))
84. 0.000 0.000 ↓ 0.0

Subquery Scan on four_golf (cost=840,440.67..845,655.15 rows=86,908 width=179) (actual rows= loops=)

85. 0.000 0.000 ↓ 0.0

HashAggregate (cost=840,440.67..843,047.91 rows=86,908 width=566) (actual rows= loops=)

86. 0.000 0.000 ↓ 0.0

Nested Loop (cost=371.08..835,443.46 rows=86,908 width=566) (actual rows= loops=)

  • Join Filter: ((CASE WHEN ((charlie_romeo.sierra_delta)::text = 'echo_quebec'::text) THEN charlie_romeo.charlie_quebec WHEN ((bravo_three.quebec_yankee)::text ~~* 'seven_six'::text) THEN charlie_romeo.charlie_oscar ELSE charlie_romeo.charlie_echo END)::text = bravo_three.seven_zulu)
87. 0.000 0.000 ↓ 0.0

CTE Scan on echo_seven bravo_three (cost=0.00..10,428.96 rows=173,816 width=566) (actual rows= loops=)

88. 0.000 0.000 ↓ 0.0

Materialize (cost=371.08..42,842.75 rows=100 width=63) (actual rows= loops=)

89. 0.000 0.000 ↓ 0.0

Nested Loop (cost=371.08..42,842.25 rows=100 width=63) (actual rows= loops=)

90. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on charlie_papa charlie_romeo (cost=371.08..42,374.59 rows=101 width=53) (actual rows= loops=)

  • Recheck Cond: ((mike)::text = 'six_november'::text)
  • Filter: ((((charlie_echo)::text <> 'lima_golf'::text) OR (charlie_echo five_romeo NULL)) AND ((sierra_kilo)::text = 'uniform_five'::text) AND (delta_two(sierra_papa) >= 'xray_echo'::timestamp without time zone) AND (delta_two(sierra_papa) <= 'alpha_mike'::timestamp without time zone))
91. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on hotel_three (cost=0.00..371.05 rows=24,868 width=0) (actual rows= loops=)

  • Index Cond: ((mike)::text = 'six_november'::text)
92. 0.000 0.000 ↓ 0.0

Index Scan using golf_lima on bravo_november lima_victor (cost=0.00..4.60 rows=1 width=38) (actual rows= loops=)

  • Index Cond: ((victor_xray)::text = (charlie_romeo.four_charlie)::text)
  • Filter: ((five_delta)::text <> november_november ('six_uniform'::text[]))
93. 0.000 0.000 ↓ 0.0

Subquery Scan on uniform_papa (cost=17,924.44..17,976.58 rows=869 width=179) (actual rows= loops=)

94. 0.000 0.000 ↓ 0.0

HashAggregate (cost=17,924.44..17,950.51 rows=869 width=566) (actual rows= loops=)

95. 0.000 0.000 ↓ 0.0

Nested Loop (cost=51.65..17,874.47 rows=869 width=566) (actual rows= loops=)

  • Join Filter: ((CASE WHEN ((charlie_romeo.sierra_delta)::text = 'echo_quebec'::text) THEN charlie_romeo.charlie_quebec WHEN ((bravo_three.quebec_yankee)::text ~~* 'seven_six'::text) THEN charlie_romeo.charlie_oscar ELSE charlie_romeo.charlie_echo END)::text = bravo_three.seven_zulu)
96. 0.000 0.000 ↓ 0.0

Nested Loop (cost=51.65..58.33 rows=1 width=63) (actual rows= loops=)

97. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on charlie_papa charlie_romeo (cost=51.65..53.70 rows=1 width=53) (actual rows= loops=)

  • Recheck Cond: ((lima_seven = 'echo_quebec'::bpchar) AND ((sierra_delta)::text = 'echo_quebec'::text))
  • Filter: ((((charlie_echo)::text <> 'lima_golf'::text) OR (charlie_echo five_romeo NULL)) AND ((sierra_kilo)::text = 'uniform_five'::text) AND (delta_two(sierra_papa) >= 'xray_echo'::timestamp without time zone) AND (delta_two(sierra_papa) <= 'alpha_mike'::timestamp without time zone))
98. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=51.65..51.65 rows=1 width=0) (actual rows= loops=)

99. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on uniform_yankee (cost=0.00..18.28 rows=1,309 width=0) (actual rows= loops=)

  • Index Cond: (lima_seven = 'echo_quebec'::bpchar)
100. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on uniform_xray (cost=0.00..33.12 rows=2,487 width=0) (actual rows= loops=)

  • Index Cond: ((sierra_delta)::text = 'echo_quebec'::text)
101. 0.000 0.000 ↓ 0.0

Index Scan using golf_lima on bravo_november lima_victor (cost=0.00..4.60 rows=1 width=38) (actual rows= loops=)

  • Index Cond: ((victor_xray)::text = (charlie_romeo.four_charlie)::text)
  • Filter: ((five_delta)::text = 'two_tango'::text)
102. 0.000 0.000 ↓ 0.0

CTE Scan on echo_seven bravo_three (cost=0.00..10,428.96 rows=173,816 width=566) (actual rows= loops=)