explain.depesz.com

PostgreSQL's explain analyze made readable

Result: cGgW

Settings
# exclusive inclusive rows x rows loops node
1. 0.006 4.889 ↓ 1.8 23 1

Append (cost=2.15..243.96 rows=13 width=1,442) (actual time=0.149..4.889 rows=23 loops=1)

2. 0.011 0.191 ↓ 3.0 9 1

Nested Loop Left Join (cost=2.15..24.49 rows=3 width=433) (actual time=0.149..0.191 rows=9 loops=1)

3. 0.005 0.153 ↓ 3.0 9 1

Nested Loop Left Join (cost=1.86..15.34 rows=3 width=373) (actual time=0.131..0.153 rows=9 loops=1)

4. 0.004 0.120 ↑ 1.5 2 1

Nested Loop (cost=1.57..14.10 rows=3 width=347) (actual time=0.112..0.120 rows=2 loops=1)

5. 0.004 0.098 ↑ 1.5 2 1

Nested Loop (cost=1.27..13.10 rows=3 width=187) (actual time=0.093..0.098 rows=2 loops=1)

6. 0.002 0.072 ↑ 1.0 1 1

Nested Loop (cost=0.86..12.22 rows=1 width=154) (actual time=0.069..0.072 rows=1 loops=1)

7. 0.004 0.048 ↑ 1.0 1 1

Nested Loop (cost=0.57..6.60 rows=1 width=68) (actual time=0.047..0.048 rows=1 loops=1)

8. 0.030 0.030 ↑ 1.0 1 1

Index Scan using message_panel_uuid_uc on message_panel mp (cost=0.29..3.30 rows=1 width=50) (actual time=0.029..0.030 rows=1 loops=1)

  • Index Cond: ((uuid)::text = '08f6b07e-8e13-44d2-a396-a5cd654b79f0'::text)
9. 0.014 0.014 ↑ 1.0 1 1

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

  • Index Cond: (application_id = mp.application_id)
10. 0.022 0.022 ↑ 1.0 1 1

Index Scan using uc_panel_section_order on panel_section ps (cost=0.29..5.61 rows=1 width=93) (actual time=0.020..0.022 rows=1 loops=1)

  • Index Cond: (message_panel_id = mp.message_panel_id)
  • Filter: (type = '1'::numeric)
  • Rows Removed by Filter: 6
11. 0.022 0.022 ↑ 3.5 2 1

Index Scan using uc_ps_item_order on panel_section_item psi (cost=0.42..0.81 rows=7 width=76) (actual time=0.021..0.022 rows=2 loops=1)

  • Index Cond: (panel_section_id = ps.section_id)
12. 0.018 0.018 ↑ 1.0 1 2

Index Scan using property_pk on property p (cost=0.29..0.34 rows=1 width=166) (actual time=0.009..0.009 rows=1 loops=2)

  • Index Cond: (property_id = psi.property_id)
13. 0.028 0.028 ↑ 1.0 4 2

Index Scan using property_list_possible_property_id_idx on property_list_possible plp (cost=0.29..0.37 rows=4 width=26) (actual time=0.010..0.014 rows=4 loops=2)

  • Index Cond: (p.property_id = property_id)
14. 0.027 0.027 ↓ 0.0 0 9

Index Scan using idx_prop_id on hierarchy_possible_values hpv (cost=0.29..2.05 rows=100 width=47) (actual time=0.003..0.003 rows=0 loops=9)

  • Index Cond: (property_id = p.property_id)
15. 0.001 0.030 ↓ 0.0 0 1

Subquery Scan on *SELECT* 2 (cost=2.02..20.63 rows=1 width=491) (actual time=0.029..0.030 rows=0 loops=1)

16. 0.000 0.029 ↓ 0.0 0 1

Nested Loop Left Join (cost=2.02..20.62 rows=1 width=467) (actual time=0.029..0.029 rows=0 loops=1)

17. 0.001 0.029 ↓ 0.0 0 1

Nested Loop Left Join (cost=1.73..17.57 rows=1 width=375) (actual time=0.029..0.029 rows=0 loops=1)

18. 0.000 0.028 ↓ 0.0 0 1

Nested Loop (cost=1.44..17.16 rows=1 width=349) (actual time=0.028..0.028 rows=0 loops=1)

19. 0.001 0.028 ↓ 0.0 0 1

Nested Loop (cost=1.15..13.85 rows=1 width=191) (actual time=0.028..0.028 rows=0 loops=1)

  • Join Filter: (psepsi.external_property_set_id = epsi.external_property_set_id)
20. 0.000 0.027 ↓ 0.0 0 1

Nested Loop (cost=1.15..12.67 rows=1 width=148) (actual time=0.027..0.027 rows=0 loops=1)

21. 0.001 0.027 ↓ 0.0 0 1

Nested Loop (cost=1.01..12.51 rows=1 width=140) (actual time=0.027..0.027 rows=0 loops=1)

22. 0.002 0.021 ↑ 1.0 1 1

Nested Loop (cost=0.86..12.22 rows=1 width=154) (actual time=0.019..0.021 rows=1 loops=1)

23. 0.002 0.012 ↑ 1.0 1 1

Nested Loop (cost=0.57..6.60 rows=1 width=68) (actual time=0.012..0.012 rows=1 loops=1)

24. 0.006 0.006 ↑ 1.0 1 1

Index Scan using message_panel_uuid_uc on message_panel mp_1 (cost=0.29..3.30 rows=1 width=50) (actual time=0.006..0.006 rows=1 loops=1)

  • Index Cond: ((uuid)::text = '08f6b07e-8e13-44d2-a396-a5cd654b79f0'::text)
25. 0.004 0.004 ↑ 1.0 1 1

Index Scan using application_pk on application ap_1 (cost=0.28..3.30 rows=1 width=30) (actual time=0.004..0.004 rows=1 loops=1)

  • Index Cond: (application_id = mp_1.application_id)
26. 0.007 0.007 ↑ 1.0 1 1

Index Scan using uc_panel_section_order on panel_section ps_1 (cost=0.29..5.61 rows=1 width=93) (actual time=0.006..0.007 rows=1 loops=1)

  • Index Cond: (message_panel_id = mp_1.message_panel_id)
  • Filter: (type = '1'::numeric)
  • Rows Removed by Filter: 6
27. 0.005 0.005 ↓ 0.0 0 1

Index Scan using idx_panel_section_external_property_set_item_psi on panel_section_external_property_set_item psepsi (cost=0.15..0.24 rows=5 width=40) (actual time=0.004..0.005 rows=0 loops=1)

  • Index Cond: (panel_section_id = ps_1.section_id)
28. 0.000 0.000 ↓ 0.0 0

Index Only Scan using external_property_set_pk on external_property_set eps (cost=0.14..0.16 rows=1 width=8) (never executed)

  • Index Cond: (external_property_set_id = psepsi.external_property_set_id)
  • Heap Fetches: 0
29. 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)

30. 0.000 0.000 ↓ 0.0 0

Index Scan using property_pk on property p_1 (cost=0.29..3.31 rows=1 width=166) (never executed)

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

Index Scan using property_list_possible_property_id_idx on property_list_possible plp_1 (cost=0.29..0.37 rows=4 width=26) (never executed)

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

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

  • Index Cond: (property_id = p_1.property_id)
33. 0.000 0.825 ↓ 0.0 0 1

Subquery Scan on *SELECT* 3 (cost=3.89..34.55 rows=1 width=1,266) (actual time=0.825..0.825 rows=0 loops=1)

34. 0.001 0.825 ↓ 0.0 0 1

Nested Loop (cost=3.89..34.54 rows=1 width=1,182) (actual time=0.825..0.825 rows=0 loops=1)

  • Join Filter: (mp_2.message_panel_id = ps_2.message_panel_id)
35. 0.000 0.824 ↓ 0.0 0 1

Nested Loop (cost=3.60..33.31 rows=1 width=103) (actual time=0.824..0.824 rows=0 loops=1)

36. 0.614 0.824 ↓ 0.0 0 1

Hash Join (cost=3.31..30.01 rows=1 width=79) (actual time=0.824..0.824 rows=0 loops=1)

  • Hash Cond: (mpcs.message_panel_id = mp_2.message_panel_id)
37. 0.201 0.201 ↑ 1.0 1,085 1

Seq Scan on message_panel_conf_setting mpcs (cost=0.00..23.85 rows=1,085 width=29) (actual time=0.016..0.201 rows=1,085 loops=1)

38. 0.002 0.009 ↑ 1.0 1 1

Hash (cost=3.30..3.30 rows=1 width=50) (actual time=0.009..0.009 rows=1 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
39. 0.007 0.007 ↑ 1.0 1 1

Index Scan using message_panel_uuid_uc on message_panel mp_2 (cost=0.29..3.30 rows=1 width=50) (actual time=0.006..0.007 rows=1 loops=1)

  • Index Cond: ((uuid)::text = '08f6b07e-8e13-44d2-a396-a5cd654b79f0'::text)
40. 0.000 0.000 ↓ 0.0 0

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

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

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

  • Index Cond: (message_panel_id = mpcs.message_panel_id)
  • Filter: (type = '5'::numeric)
42. 0.008 2.345 ↓ 4.0 12 1

Subquery Scan on *SELECT* 4 (cost=7.91..87.71 rows=3 width=634) (actual time=0.868..2.345 rows=12 loops=1)

43. 0.805 2.337 ↓ 4.0 12 1

Nested Loop Left Join (cost=7.91..87.68 rows=3 width=634) (actual time=0.866..2.337 rows=12 loops=1)

44. 0.014 1.490 ↓ 2.3 7 1

Nested Loop (cost=7.62..86.35 rows=3 width=292) (actual time=0.730..1.490 rows=7 loops=1)

45. 0.006 1.371 ↓ 2.3 7 1

Nested Loop (cost=7.32..85.35 rows=3 width=145) (actual time=0.707..1.371 rows=7 loops=1)

46. 0.004 1.340 ↑ 1.0 1 1

Nested Loop (cost=6.91..84.21 rows=1 width=149) (actual time=0.683..1.340 rows=1 loops=1)

47. 0.811 1.325 ↑ 1.0 1 1

Hash Right Join (cost=6.62..80.91 rows=1 width=131) (actual time=0.669..1.325 rows=1 loops=1)

  • Hash Cond: ((ho.message_panel_id)::numeric = ps_3.message_panel_id)
48. 0.468 0.468 ↑ 1.0 3,085 1

Seq Scan on message_panel_handling_option ho (cost=0.00..58.85 rows=3,085 width=17) (actual time=0.015..0.468 rows=3,085 loops=1)

49. 0.004 0.046 ↑ 1.0 1 1

Hash (cost=6.61..6.61 rows=1 width=129) (actual time=0.046..0.046 rows=1 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
50. 0.004 0.042 ↑ 1.0 1 1

Nested Loop (cost=0.57..6.61 rows=1 width=129) (actual time=0.040..0.042 rows=1 loops=1)

51. 0.021 0.021 ↑ 1.0 1 1

Index Scan using message_panel_uuid_uc on message_panel mp_3 (cost=0.29..3.30 rows=1 width=50) (actual time=0.020..0.021 rows=1 loops=1)

  • Index Cond: ((uuid)::text = '08f6b07e-8e13-44d2-a396-a5cd654b79f0'::text)
52. 0.017 0.017 ↑ 1.0 1 1

Index Scan using panel_section_message_panel_id_idx on panel_section ps_3 (cost=0.28..3.30 rows=1 width=79) (actual time=0.016..0.017 rows=1 loops=1)

  • Index Cond: (message_panel_id = mp_3.message_panel_id)
53. 0.011 0.011 ↑ 1.0 1 1

Index Scan using application_pk on application ap_3 (cost=0.28..3.30 rows=1 width=30) (actual time=0.011..0.011 rows=1 loops=1)

  • Index Cond: (application_id = mp_3.application_id)
54. 0.025 0.025 ↑ 1.0 7 1

Index Scan using uc_ps_item_order on panel_section_item psi_1 (cost=0.42..1.07 rows=7 width=39) (actual time=0.021..0.025 rows=7 loops=1)

  • Index Cond: (panel_section_id = ps_3.section_id)
55. 0.105 0.105 ↑ 1.0 1 7

Index Scan using property_pk on property p_2 (cost=0.29..0.34 rows=1 width=153) (actual time=0.015..0.015 rows=1 loops=7)

  • Index Cond: (property_id = psi_1.property_id)
56. 0.042 0.042 ↑ 4.0 1 7

Index Scan using property_list_possible_property_id_idx on property_list_possible plp_2 (cost=0.29..0.37 rows=4 width=26) (actual time=0.005..0.006 rows=1 loops=7)

  • Index Cond: (p_2.property_id = property_id)
57. 0.009 1.309 ↑ 4.0 1 1

Subquery Scan on *SELECT* 5 (cost=57.49..58.16 rows=4 width=1,276) (actual time=1.308..1.309 rows=1 loops=1)

58. 0.137 1.300 ↑ 4.0 1 1

GroupAggregate (cost=57.49..58.09 rows=4 width=1,192) (actual time=1.300..1.300 rows=1 loops=1)

  • 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
59. 0.060 1.163 ↓ 2.2 9 1

Sort (cost=57.49..57.50 rows=4 width=1,199) (actual time=1.163..1.163 rows=9 loops=1)

  • 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)
  • Sort Method: quicksort Memory: 29kB
60. 0.067 1.103 ↓ 2.2 9 1

Nested Loop Left Join (cost=9.78..57.45 rows=4 width=1,199) (actual time=0.544..1.103 rows=9 loops=1)

61. 0.011 1.000 ↓ 2.2 9 1

Nested Loop Left Join (cost=9.50..56.03 rows=4 width=136) (actual time=0.488..1.000 rows=9 loops=1)

62. 0.016 0.954 ↑ 1.0 1 1

Nested Loop (cost=9.21..55.47 rows=1 width=145) (actual time=0.453..0.954 rows=1 loops=1)

63. 0.549 0.909 ↑ 1.0 1 1

Hash Right Join (cost=8.93..52.17 rows=1 width=121) (actual time=0.409..0.909 rows=1 loops=1)

  • Hash Cond: ((mpdf.message_panel_id)::numeric = ps_4.message_panel_id)
64. 0.309 0.309 ↓ 1.0 1,623 1

Seq Scan on message_panel_device_filter mpdf (cost=0.00..35.15 rows=1,615 width=29) (actual time=0.015..0.309 rows=1,623 loops=1)

65. 0.004 0.051 ↑ 1.0 1 1

Hash (cost=8.92..8.92 rows=1 width=107) (actual time=0.051..0.051 rows=1 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
66. 0.007 0.047 ↑ 1.0 1 1

Nested Loop (cost=0.57..8.92 rows=1 width=107) (actual time=0.045..0.047 rows=1 loops=1)

67. 0.016 0.016 ↑ 1.0 1 1

Index Scan using message_panel_uuid_uc on message_panel mp_4 (cost=0.29..3.30 rows=1 width=50) (actual time=0.016..0.016 rows=1 loops=1)

  • Index Cond: ((uuid)::text = '08f6b07e-8e13-44d2-a396-a5cd654b79f0'::text)
68. 0.024 0.024 ↑ 1.0 1 1

Index Scan using uc_panel_section_order on panel_section ps_4 (cost=0.29..5.61 rows=1 width=57) (actual time=0.023..0.024 rows=1 loops=1)

  • Index Cond: (message_panel_id = mp_4.message_panel_id)
  • Filter: (type = '3'::numeric)
  • Rows Removed by Filter: 6
69. 0.029 0.029 ↑ 1.0 1 1

Index Scan using application_pk on application ap_4 (cost=0.28..3.30 rows=1 width=30) (actual time=0.029..0.029 rows=1 loops=1)

  • Index Cond: (application_id = mp_4.application_id)
70. 0.035 0.035 ↓ 2.2 9 1

Index Scan using idx_message_panel_device_dvcf on message_panel_device mpd (cost=0.28..0.52 rows=4 width=33) (actual time=0.029..0.035 rows=9 loops=1)

  • Index Cond: (mpdf.message_panel_device_filter_id = message_panel_device_filter_id)
71. 0.036 0.036 ↑ 1.0 1 9

Index Scan using org_dvc_names_pk on org_dvc_names odn (cost=0.28..0.34 rows=1 width=43) (actual time=0.004..0.004 rows=1 loops=9)

  • Index Cond: (mpd.device_id = org_dvc_name_id)
72. 0.005 0.183 ↑ 1.0 1 1

Subquery Scan on *SELECT* 6 (cost=18.21..18.38 rows=1 width=1,276) (actual time=0.183..0.183 rows=1 loops=1)

73. 0.020 0.178 ↑ 1.0 1 1

GroupAggregate (cost=18.21..18.36 rows=1 width=1,192) (actual time=0.178..0.178 rows=1 loops=1)

  • 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
74. 0.030 0.158 ↑ 1.0 1 1

Sort (cost=18.21..18.21 rows=1 width=1,225) (actual time=0.158..0.158 rows=1 loops=1)

  • 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)
  • Sort Method: quicksort Memory: 25kB
75. 0.016 0.128 ↑ 1.0 1 1

Nested Loop Left Join (cost=1.84..18.20 rows=1 width=1,225) (actual time=0.118..0.128 rows=1 loops=1)

76. 0.007 0.111 ↑ 1.0 1 1

Nested Loop Left Join (cost=1.56..17.88 rows=1 width=187) (actual time=0.101..0.111 rows=1 loops=1)

77. 0.006 0.102 ↑ 1.0 1 1

Nested Loop Left Join (cost=1.14..16.86 rows=1 width=132) (actual time=0.093..0.102 rows=1 loops=1)

78. 0.006 0.080 ↑ 1.0 1 1

Nested Loop (cost=0.86..12.22 rows=1 width=124) (actual time=0.070..0.080 rows=1 loops=1)

79. 0.008 0.043 ↑ 1.0 1 1

Nested Loop (cost=0.57..6.60 rows=1 width=74) (actual time=0.042..0.043 rows=1 loops=1)

80. 0.026 0.026 ↑ 1.0 1 1

Index Scan using message_panel_uuid_uc on message_panel mp_5 (cost=0.29..3.30 rows=1 width=50) (actual time=0.025..0.026 rows=1 loops=1)

  • Index Cond: ((uuid)::text = '08f6b07e-8e13-44d2-a396-a5cd654b79f0'::text)
81. 0.009 0.009 ↑ 1.0 1 1

Index Scan using application_pk on application ap_5 (cost=0.28..3.30 rows=1 width=30) (actual time=0.009..0.009 rows=1 loops=1)

  • Index Cond: (application_id = mp_5.application_id)
82. 0.031 0.031 ↑ 1.0 1 1

Index Scan using uc_panel_section_order on panel_section ps_5 (cost=0.29..5.61 rows=1 width=57) (actual time=0.022..0.031 rows=1 loops=1)

  • Index Cond: (message_panel_id = mp_5.message_panel_id)
  • Filter: (type = '2'::numeric)
  • Rows Removed by Filter: 6
83. 0.016 0.016 ↓ 0.0 0 1

Index Scan using idx_mpr_message_panel_id on message_panel_recipient mpr (cost=0.28..4.62 rows=2 width=15) (actual time=0.016..0.016 rows=0 loops=1)

  • Index Cond: (mp_5.message_panel_id = message_panel_id)
84. 0.002 0.002 ↓ 0.0 0 1

Index Scan using recipients_pk on recipients r (cost=0.42..1.02 rows=1 width=71) (actual time=0.002..0.002 rows=0 loops=1)

  • Index Cond: (mpr.recipient_id = recipient_id)
  • Filter: (deleted_id = '-1'::integer)
85. 0.001 0.001 ↓ 0.0 0 1

Index Scan using org_dvc_names_pk on org_dvc_names odn_1 (cost=0.28..0.30 rows=1 width=18) (actual time=0.001..0.001 rows=0 loops=1)

  • Index Cond: (r.org_dvc_name_id = org_dvc_name_id)
Planning time : 11.899 ms
Execution time : 6.074 ms