explain.depesz.com

PostgreSQL's explain analyze made readable

Result: d8Jm

Settings
# exclusive inclusive rows x rows loops node
1. 0.015 0.270 ↑ 1.0 1 1

Limit (cost=2.63..9.16 rows=1 width=1,442) (actual time=0.256..0.270 rows=1 loops=1)

2. 0.000 0.255 ↑ 66,546.0 1 1

Append (cost=2.63..433,895.54 rows=66,546 width=1,442) (actual time=0.255..0.255 rows=1 loops=1)

3. 0.015 0.255 ↑ 31,366.0 1 1

Merge Left Join (cost=2.63..74,657.91 rows=31,366 width=432) (actual time=0.255..0.255 rows=1 loops=1)

  • Merge Cond: (p.property_id = hpv.property_id)
4. 0.007 0.224 ↑ 31,366.0 1 1

Merge Left Join (cost=2.34..73,255.59 rows=31,366 width=372) (actual time=0.224..0.224 rows=1 loops=1)

  • Merge Cond: (p.property_id = plp.property_id)
5. 0.010 0.199 ↑ 31,366.0 1 1

Merge Join (cost=1.92..70,306.63 rows=31,366 width=346) (actual time=0.198..0.199 rows=1 loops=1)

  • Merge Cond: (psi.property_id = p.property_id)
6. 0.008 0.164 ↑ 31,366.0 1 1

Nested Loop (cost=1.40..67,104.64 rows=31,366 width=187) (actual time=0.164..0.164 rows=1 loops=1)

7. 0.008 0.136 ↑ 31,366.0 1 1

Nested Loop (cost=1.12..56,720.40 rows=31,366 width=169) (actual time=0.136..0.136 rows=1 loops=1)

8. 0.013 0.107 ↑ 31,366.0 1 1

Nested Loop (cost=0.83..45,723.98 rows=31,366 width=126) (actual time=0.107..0.107 rows=1 loops=1)

9. 0.022 0.022 ↑ 92,515.0 1 1

Index Scan using idx_ps_property_id on panel_section_item psi (cost=0.42..4,290.55 rows=92,515 width=76) (actual time=0.022..0.022 rows=1 loops=1)

10. 0.072 0.072 ↑ 1.0 1 1

Index Scan using panel_section_pk on panel_section ps (cost=0.41..0.45 rows=1 width=93) (actual time=0.072..0.072 rows=1 loops=1)

  • Index Cond: (section_id = psi.panel_section_id)
  • Filter: (type = '1'::numeric)
11. 0.021 0.021 ↑ 1.0 1 1

Index Scan using message_panel_pk on message_panel mp (cost=0.29..0.35 rows=1 width=50) (actual time=0.021..0.021 rows=1 loops=1)

  • Index Cond: (message_panel_id = ps.message_panel_id)
12. 0.020 0.020 ↑ 1.0 1 1

Index Scan using application_pk on application ap (cost=0.28..0.33 rows=1 width=30) (actual time=0.020..0.020 rows=1 loops=1)

  • Index Cond: (application_id = mp.application_id)
13. 0.025 0.025 ↑ 10,782.0 7 1

Index Scan using property_pk on property p (cost=0.42..3,683.60 rows=75,474 width=165) (actual time=0.023..0.025 rows=7 loops=1)

14. 0.018 0.018 ↑ 60,606.0 1 1

Index Scan using idx_prop_list_pv_unq1 on property_list_possible plp (cost=0.41..2,523.65 rows=60,606 width=26) (actual time=0.018..0.018 rows=1 loops=1)

15. 0.016 0.016 ↑ 33,832.0 1 1

Index Scan using idx_prop_id on hierarchy_possible_values hpv (cost=0.29..1,098.72 rows=33,832 width=47) (actual time=0.016..0.016 rows=1 loops=1)

16. 0.000 0.000 ↓ 0.0 0

Subquery Scan on *SELECT* 2 (cost=2.26..737.77 rows=194 width=490) (never executed)

17. 0.000 0.000 ↓ 0.0 0

Nested Loop Left Join (cost=2.26..735.34 rows=194 width=466) (never executed)

18. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.97..133.07 rows=194 width=374) (never executed)

  • Join Filter: (psepsi.external_property_set_id = eps.external_property_set_id)
19. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.97..128.51 rows=15 width=390) (never executed)

20. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.69..123.54 rows=15 width=372) (never executed)

21. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.40..118.28 rows=15 width=329) (never executed)

22. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.99..51.78 rows=43 width=290) (never executed)

23. 0.000 0.000 ↓ 0.0 0

Nested Loop Left Join (cost=0.83..32.96 rows=8 width=250) (never executed)

24. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.42..28.58 rows=8 width=224) (never executed)

25. 0.000 0.000 ↓ 0.0 0

Seq Scan on external_property_set_item epsi (cost=0.00..1.08 rows=8 width=67) (never executed)

26. 0.000 0.000 ↓ 0.0 0

Index Scan using property_pk on property p_1 (cost=0.42..3.44 rows=1 width=165) (never executed)

  • Index Cond: (property_id = (epsi.external_property_id)::numeric)
27. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_prop_list_pv_unq1 on property_list_possible plp_1 (cost=0.41..0.51 rows=4 width=26) (never executed)

  • Index Cond: (p_1.property_id = property_id)
28. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_external_property_set_epsi on panel_section_external_property_set_item psepsi (cost=0.15..2.30 rows=5 width=40) (never executed)

  • Index Cond: (external_property_set_id = epsi.external_property_set_id)
29. 0.000 0.000 ↓ 0.0 0

Index Scan using panel_section_pk on panel_section ps_1 (cost=0.41..1.55 rows=1 width=93) (never executed)

  • Index Cond: (section_id = psepsi.panel_section_id)
  • Filter: (type = '1'::numeric)
30. 0.000 0.000 ↓ 0.0 0

Index Scan using message_panel_pk on message_panel mp_1 (cost=0.29..0.35 rows=1 width=50) (never executed)

  • Index Cond: (message_panel_id = ps_1.message_panel_id)
31. 0.000 0.000 ↓ 0.0 0

Index Scan using application_pk on application ap_1 (cost=0.28..0.33 rows=1 width=30) (never executed)

  • Index Cond: (application_id = mp_1.application_id)
32. 0.000 0.000 ↓ 0.0 0

Materialize (cost=0.00..1.22 rows=15 width=8) (never executed)

33. 0.000 0.000 ↓ 0.0 0

Seq Scan on external_property_set eps (cost=0.00..1.15 rows=15 width=8) (never executed)

34. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_prop_id on hierarchy_possible_values hpv_1 (cost=0.29..2.08 rows=102 width=47) (never executed)

  • Index Cond: (property_id = p_1.property_id)
35. 0.000 0.000 ↓ 0.0 0

Subquery Scan on *SELECT* 3 (cost=0.86..1,447.82 rows=119 width=1,266) (never executed)

36. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.86..1,445.74 rows=119 width=1,182) (never executed)

37. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.57..1,404.85 rows=119 width=122) (never executed)

38. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.29..901.06 rows=1,085 width=79) (never executed)

39. 0.000 0.000 ↓ 0.0 0

Seq Scan on message_panel_conf_setting mpcs (cost=0.00..23.85 rows=1,085 width=29) (never executed)

40. 0.000 0.000 ↓ 0.0 0

Index Scan using message_panel_pk on message_panel mp_2 (cost=0.29..0.81 rows=1 width=50) (never executed)

  • Index Cond: (message_panel_id = mpcs.message_panel_id)
41. 0.000 0.000 ↓ 0.0 0

Index Scan using uc_panel_section_order on panel_section ps_2 (cost=0.29..0.45 rows=1 width=57) (never executed)

  • Index Cond: (message_panel_id = mp_2.message_panel_id)
  • Filter: (type = '5'::numeric)
42. 0.000 0.000 ↓ 0.0 0

Index Scan using application_pk on application ap_2 (cost=0.28..0.33 rows=1 width=30) (never executed)

  • Index Cond: (application_id = mp_2.application_id)
43. 0.000 0.000 ↓ 0.0 0

Subquery Scan on *SELECT* 4 (cost=1.82..342,598.93 rows=15,999 width=633) (never executed)

44. 0.000 0.000 ↓ 0.0 0

Nested Loop Left Join (cost=1.82..342,438.94 rows=15,999 width=633) (never executed)

45. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.40..333,208.14 rows=15,999 width=291) (never executed)

46. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.98..325,771.54 rows=15,999 width=145) (never executed)

47. 0.000 0.000 ↓ 0.0 0

Nested Loop Left Join (cost=0.57..318,177.01 rows=5,823 width=149) (never executed)

  • Join Filter: (ps_3.message_panel_id = (ho.message_panel_id)::numeric)
48. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.57..5,167.04 rows=5,823 width=147) (never executed)

49. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.29..3,239.25 rows=5,823 width=129) (never executed)

50. 0.000 0.000 ↓ 0.0 0

Seq Scan on panel_section ps_3 (cost=0.00..928.90 rows=5,823 width=79) (never executed)

  • Filter: (type = '4'::numeric)
51. 0.000 0.000 ↓ 0.0 0

Index Scan using message_panel_pk on message_panel mp_3 (cost=0.29..0.40 rows=1 width=50) (never executed)

  • Index Cond: (message_panel_id = ps_3.message_panel_id)
52. 0.000 0.000 ↓ 0.0 0

Index Scan using application_pk on application ap_3 (cost=0.28..0.33 rows=1 width=30) (never executed)

  • Index Cond: (application_id = mp_3.application_id)
53. 0.000 0.000 ↓ 0.0 0

Materialize (cost=0.00..75.06 rows=3,071 width=17) (never executed)

54. 0.000 0.000 ↓ 0.0 0

Seq Scan on message_panel_handling_option ho (cost=0.00..59.71 rows=3,071 width=17) (never executed)

55. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_panel_item_unq2 on panel_section_item psi_1 (cost=0.42..1.23 rows=7 width=39) (never executed)

  • Index Cond: (panel_section_id = ps_3.section_id)
56. 0.000 0.000 ↓ 0.0 0

Index Scan using property_pk on property p_2 (cost=0.42..0.46 rows=1 width=152) (never executed)

  • Index Cond: (property_id = psi_1.property_id)
57. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_prop_list_pv_unq1 on property_list_possible plp_2 (cost=0.41..0.51 rows=4 width=26) (never executed)

  • Index Cond: (p_2.property_id = property_id)
58. 0.000 0.000 ↓ 0.0 0

Subquery Scan on *SELECT* 5 (cost=3,231.37..4,682.26 rows=8,662 width=1,276) (never executed)

59. 0.000 0.000 ↓ 0.0 0

GroupAggregate (cost=3,231.37..4,530.67 rows=8,662 width=1,192) (never executed)

  • Group Key: ap_4.org_id, ap_4.uuid, mp_4.message_panel_id, ps_4.uuid, 'Device'::text, ps_4.order_num, ps_4.type, ps_4.is_visible, ps_4.is_collapsed, 20, 'deviceOverride'::text, NULL::text, NULL::text, 3, 'N'::text, NULL::numeric, NULL::numeric, NULL::text, NULL::numeric, NULL::numeric, NULL::text, NULL::numeric, NULL::text, ((uuid_generate_v5((mp_4.uuid)::uuid, 'deviceOverride_property'::text))::text), NULL::text, NULL::text, NULL::numeric, NULL::numeric, NULL::text, NULL::text, NULL::text, NULL::numeric, NULL::numeric, NULL::text, NULL::numeric, NULL::text, NULL::text, 'targetDeviceNames'::text, 0, 'N'::text, 'N'::text, 'N'::text, 'N'::text
60. 0.000 0.000 ↓ 0.0 0

Sort (cost=3,231.37..3,253.03 rows=8,662 width=1,199) (never executed)

  • Sort Key: ap_4.org_id, ap_4.uuid, mp_4.message_panel_id, ps_4.uuid, ps_4.order_num, ps_4.is_visible, ps_4.is_collapsed, ((uuid_generate_v5((mp_4.uuid)::uuid, 'deviceOverride_property'::text))::text)
61. 0.000 0.000 ↓ 0.0 0

Hash Right Join (cost=2,241.47..2,664.86 rows=8,662 width=1,199) (never executed)

  • Hash Cond: (mpd.message_panel_device_filter_id = mpdf.message_panel_device_filter_id)
62. 0.000 0.000 ↓ 0.0 0

Hash Left Join (cost=316.82..520.47 rows=6,625 width=60) (never executed)

  • Hash Cond: (mpd.device_id = odn.org_dvc_name_id)
63. 0.000 0.000 ↓ 0.0 0

Seq Scan on message_panel_device mpd (cost=0.00..186.25 rows=6,625 width=33) (never executed)

64. 0.000 0.000 ↓ 0.0 0

Hash (cost=233.03..233.03 rows=6,703 width=43) (never executed)

65. 0.000 0.000 ↓ 0.0 0

Seq Scan on org_dvc_names odn (cost=0.00..233.03 rows=6,703 width=43) (never executed)

66. 0.000 0.000 ↓ 0.0 0

Hash (cost=1,898.13..1,898.13 rows=2,122 width=145) (never executed)

67. 0.000 0.000 ↓ 0.0 0

Hash Join (cost=1,783.88..1,898.13 rows=2,122 width=145) (never executed)

  • Hash Cond: (mp_4.application_id = ap_4.application_id)
68. 0.000 0.000 ↓ 0.0 0

Hash Join (cost=1,480.51..1,589.19 rows=2,122 width=121) (never executed)

  • Hash Cond: (ps_4.message_panel_id = mp_4.message_panel_id)
69. 0.000 0.000 ↓ 0.0 0

Hash Right Join (cost=955.43..1,058.54 rows=2,122 width=78) (never executed)

  • Hash Cond: ((mpdf.message_panel_id)::numeric = ps_4.message_panel_id)
70. 0.000 0.000 ↓ 0.0 0

Seq Scan on message_panel_device_filter mpdf (cost=0.00..35.15 rows=1,615 width=29) (never executed)

71. 0.000 0.000 ↓ 0.0 0

Hash (cost=928.90..928.90 rows=2,122 width=57) (never executed)

72. 0.000 0.000 ↓ 0.0 0

Seq Scan on panel_section ps_4 (cost=0.00..928.90 rows=2,122 width=57) (never executed)

  • Filter: (type = '3'::numeric)
73. 0.000 0.000 ↓ 0.0 0

Hash (cost=398.37..398.37 rows=10,137 width=50) (never executed)

74. 0.000 0.000 ↓ 0.0 0

Seq Scan on message_panel mp_4 (cost=0.00..398.37 rows=10,137 width=50) (never executed)

75. 0.000 0.000 ↓ 0.0 0

Hash (cost=229.83..229.83 rows=5,883 width=30) (never executed)

76. 0.000 0.000 ↓ 0.0 0

Seq Scan on application ap_4 (cost=0.00..229.83 rows=5,883 width=30) (never executed)

77. 0.000 0.000 ↓ 0.0 0

Subquery Scan on *SELECT* 6 (cost=7,696.66..9,457.20 rows=10,206 width=1,276) (never executed)

78. 0.000 0.000 ↓ 0.0 0

GroupAggregate (cost=7,696.66..9,278.59 rows=10,206 width=1,192) (never executed)

  • Group Key: ap_5.org_id, ap_5.uuid, mp_5.message_panel_id, ps_5.uuid, 'Recipients'::text, ps_5.order_num, ps_5.type, ps_5.is_visible, ps_5.is_collapsed, 30, 'recipients'::text, NULL::text, NULL::text, 3, 'N'::text, NULL::numeric, NULL::numeric, NULL::text, NULL::numeric, NULL::numeric, NULL::text, NULL::numeric, NULL::text, ((uuid_generate_v5((mp_5.uuid)::uuid, 'recipients_property'::text))::text), NULL::text, NULL::text, NULL::numeric, NULL::numeric, NULL::text, NULL::text, NULL::text, NULL::numeric, NULL::numeric, NULL::text, NULL::numeric, NULL::text, NULL::text, 'recipients'::text, 0, 'N'::text, 'N'::text, 'N'::text, 'N'::text
79. 0.000 0.000 ↓ 0.0 0

Sort (cost=7,696.66..7,722.18 rows=10,206 width=1,225) (never executed)

  • Sort Key: ap_5.org_id, ap_5.uuid, mp_5.message_panel_id, ps_5.uuid, ps_5.order_num, ps_5.is_visible, ps_5.is_collapsed, ((uuid_generate_v5((mp_5.uuid)::uuid, 'recipients_property'::text))::text)
80. 0.000 0.000 ↓ 0.0 0

Hash Left Join (cost=5,793.96..7,017.09 rows=10,206 width=1,225) (never executed)

  • Hash Cond: (r.org_dvc_name_id = odn_1.org_dvc_name_id)
81. 0.000 0.000 ↓ 0.0 0

Hash Join (cost=5,477.14..6,545.89 rows=10,206 width=187) (never executed)

  • Hash Cond: (ps_5.message_panel_id = mp_5.message_panel_id)
82. 0.000 0.000 ↓ 0.0 0

Seq Scan on panel_section ps_5 (cost=0.00..928.90 rows=10,206 width=57) (never executed)

  • Filter: (type = '2'::numeric)
83. 0.000 0.000 ↓ 0.0 0

Hash (cost=5,350.43..5,350.43 rows=10,137 width=137) (never executed)

84. 0.000 0.000 ↓ 0.0 0

Hash Join (cost=5,079.62..5,350.43 rows=10,137 width=137) (never executed)

  • Hash Cond: (mp_5.application_id = ap_5.application_id)
85. 0.000 0.000 ↓ 0.0 0

Hash Right Join (cost=4,776.26..5,020.43 rows=10,137 width=113) (never executed)

  • Hash Cond: (mpr.message_panel_id = mp_5.message_panel_id)
86. 0.000 0.000 ↓ 0.0 0

Hash Left Join (cost=4,251.18..4,475.69 rows=7,486 width=70) (never executed)

  • Hash Cond: (mpr.recipient_id = r.recipient_id)
87. 0.000 0.000 ↓ 0.0 0

Seq Scan on message_panel_recipient mpr (cost=0.00..204.86 rows=7,486 width=15) (never executed)

88. 0.000 0.000 ↓ 0.0 0

Hash (cost=3,471.31..3,471.31 rows=62,389 width=71) (never executed)

89. 0.000 0.000 ↓ 0.0 0

Seq Scan on recipients r (cost=0.00..3,471.31 rows=62,389 width=71) (never executed)

  • Filter: (deleted_id = '-1'::integer)
90. 0.000 0.000 ↓ 0.0 0

Hash (cost=398.37..398.37 rows=10,137 width=50) (never executed)

91. 0.000 0.000 ↓ 0.0 0

Seq Scan on message_panel mp_5 (cost=0.00..398.37 rows=10,137 width=50) (never executed)

92. 0.000 0.000 ↓ 0.0 0

Hash (cost=229.83..229.83 rows=5,883 width=30) (never executed)

93. 0.000 0.000 ↓ 0.0 0

Seq Scan on application ap_5 (cost=0.00..229.83 rows=5,883 width=30) (never executed)

94. 0.000 0.000 ↓ 0.0 0

Hash (cost=233.03..233.03 rows=6,703 width=18) (never executed)

95. 0.000 0.000 ↓ 0.0 0

Seq Scan on org_dvc_names odn_1 (cost=0.00..233.03 rows=6,703 width=18) (never executed)

Planning time : 1,587.274 ms
Execution time : 105.592 ms