explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 69vk

Settings
# exclusive inclusive rows x rows loops node
1. 67.753 1,437.960 ↓ 0.0 0 1

Gather Merge (cost=103,913.29..103,927.14 rows=117 width=1,709) (actual time=1,391.019..1,437.960 rows=0 loops=1)

  • Workers Planned: 3
  • Workers Launched: 3
2. 0.046 1,370.207 ↓ 0.0 0 4 / 4

Sort (cost=102,913.25..102,913.35 rows=39 width=1,709) (actual time=1,370.207..1,370.207 rows=0 loops=4)

  • Sort Key: dvc.sequence
  • Sort Method: quicksort Memory: 25kB
3. 0.001 1,370.161 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,773.37..102,912.22 rows=39 width=1,709) (actual time=1,370.161..1,370.161 rows=0 loops=4)

4. 0.000 1,370.160 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,772.95..102,890.48 rows=39 width=1,983) (actual time=1,370.160..1,370.160 rows=0 loops=4)

5. 0.001 1,370.160 ↓ 0.0 0 4 / 4

Hash Left Join (cost=102,772.80..102,881.22 rows=39 width=1,992) (actual time=1,370.159..1,370.160 rows=0 loops=4)

  • Hash Cond: ((numpage.country_code)::text = (numpage_c.country_code)::text)
6. 0.001 1,370.159 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,762.22..102,870.54 rows=39 width=2,001) (actual time=1,370.159..1,370.159 rows=0 loops=4)

7. 0.001 1,370.158 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,762.08..102,864.20 rows=39 width=1,998) (actual time=1,370.158..1,370.158 rows=0 loops=4)

8. 0.000 1,370.157 ↓ 0.0 0 4 / 4

Hash Left Join (cost=102,761.93..102,857.86 rows=39 width=1,995) (actual time=1,370.157..1,370.157 rows=0 loops=4)

  • Hash Cond: (dvc.dvc_id = txtpage.dvc_id)
  • Join Filter: ((dvc.dvc_type)::text = 'TEXT_PAGER'::text)
9. 0.001 1,370.157 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,760.73..102,856.56 rows=39 width=1,984) (actual time=1,370.157..1,370.157 rows=0 loops=4)

10. 0.000 1,370.156 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,760.45..102,845.04 rows=39 width=1,801) (actual time=1,370.156..1,370.156 rows=0 loops=4)

  • Join Filter: ((dvc.dvc_type)::text = 'VOICE_IVR'::text)
11. 0.001 1,370.156 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,760.31..102,838.21 rows=39 width=1,635) (actual time=1,370.156..1,370.156 rows=0 loops=4)

12. 0.001 1,370.155 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,760.16..102,831.87 rows=39 width=1,417) (actual time=1,370.155..1,370.155 rows=0 loops=4)

  • Join Filter: ((dvc.dvc_type)::text = 'IM'::text)
13. 0.000 1,370.154 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,760.02..102,825.05 rows=39 width=1,199) (actual time=1,370.154..1,370.154 rows=0 loops=4)

  • Join Filter: ((dvc.dvc_type)::text = 'APPLE_PUSH'::text)
14. 0.001 1,370.154 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,759.74..102,812.94 rows=39 width=1,073) (actual time=1,370.154..1,370.154 rows=0 loops=4)

  • Join Filter: ((dvc.dvc_type)::text = 'EMAIL'::text)
15. 0.001 1,370.153 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,759.31..102,790.55 rows=39 width=1,048) (actual time=1,370.153..1,370.153 rows=0 loops=4)

  • Join Filter: ((dvc.dvc_type)::text = 'TEXT_PHONE'::text)
16. 0.001 1,370.152 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=102,758.89..102,770.50 rows=39 width=1,033) (actual time=1,370.152..1,370.152 rows=0 loops=4)

  • Join Filter: ((dvc.dvc_type)::text = 'FAX'::text)
17. 0.002 1,370.151 ↓ 0.0 0 4 / 4

Merge Left Join (cost=102,758.63..102,759.18 rows=39 width=1,020) (actual time=1,370.151..1,370.151 rows=0 loops=4)

  • Merge Cond: (dvc.dvc_id = numpage.dvc_id)
  • Join Filter: ((dvc.dvc_type)::text = 'NUMERIC_PAGER'::text)
18. 0.013 1,370.149 ↓ 0.0 0 4 / 4

Sort (cost=102,745.78..102,745.88 rows=39 width=354) (actual time=1,370.149..1,370.149 rows=0 loops=4)

  • Sort Key: dvc.dvc_id
  • Sort Method: quicksort Memory: 25kB
19. 0.001 1,370.136 ↓ 0.0 0 4 / 4

Nested Loop Left Join (cost=73.88..102,744.75 rows=39 width=354) (actual time=1,370.136..1,370.136 rows=0 loops=4)

  • Join Filter: ((dvc.dvc_type)::text = 'VOICE'::text)
20. 0.000 1,370.135 ↓ 0.0 0 4 / 4

Nested Loop (cost=73.46..102,720.42 rows=39 width=335) (actual time=1,370.135..1,370.135 rows=0 loops=4)

21. 0.001 1,370.135 ↓ 0.0 0 4 / 4

Nested Loop (cost=73.31..102,714.08 rows=39 width=337) (actual time=1,370.135..1,370.135 rows=0 loops=4)

22. 0.001 1,370.134 ↓ 0.0 0 4 / 4

Nested Loop (cost=72.89..102,684.44 rows=39 width=337) (actual time=1,370.134..1,370.134 rows=0 loops=4)

23. 1.229 1,370.133 ↓ 0.0 0 4 / 4

Hash Join (cost=72.62..102,672.63 rows=40 width=315) (actual time=1,370.133..1,370.133 rows=0 loops=4)

  • Hash Cond: (rd.org_dvc_name_id = odn.org_dvc_name_id)
  • Join Filter: (((rd.uuid)::text = 'd20ad205-108f-4e3c-badb-a8e032daed44'::text) OR ((((rd.target_name_lower)::text || '|'::text) || (odn.name_lower)::text) = 'd20ad205-108f-4e3c-badb-a8e032daed44'::text))
  • Rows Removed by Join Filter: 1879
24. 1.328 1,367.930 ↑ 4.3 1,879 4 / 4

Merge Join (cost=1.99..102,580.99 rows=8,008 width=317) (actual time=247.805..1,367.930 rows=1,879 loops=4)

  • Merge Cond: (persons.site_id = sites.site_id)
25. 1.900 1,355.327 ↑ 4.3 1,879 4 / 4

Nested Loop (cost=1.70..238,944.05 rows=8,008 width=317) (actual time=247.518..1,355.327 rows=1,879 loops=4)

26. 50.029 1,347.789 ↑ 13.9 1,879 4 / 4

Nested Loop (cost=1.28..217,510.52 rows=26,080 width=202) (actual time=247.464..1,347.789 rows=1,879 loops=4)

27. 99.468 597.272 ↓ 2.5 87,561 4 / 4

Nested Loop (cost=0.85..160,893.86 rows=34,702 width=87) (actual time=0.181..597.272 rows=87,561 loops=4)

28. 147.560 147.560 ↑ 1.3 87,561 4 / 4

Parallel Index Scan using idx_persons4 on persons (cost=0.42..35,283.82 rows=113,010 width=30) (actual time=0.115..147.560 rows=87,561 loops=4)

29. 350.244 350.244 ↑ 1.0 1 350,244 / 4

Index Scan using recipients_recipient_id_not_deleted_idx on recipients rp (cost=0.43..1.11 rows=1 width=57) (actual time=0.004..0.004 rows=1 loops=350,244)

  • Index Cond: (recipient_id = persons.person_id)
30. 700.488 700.488 ↓ 0.0 0 350,244 / 4

Index Scan using idx_dvc_person_id_not_deleted on dvc (cost=0.43..1.39 rows=24 width=123) (actual time=0.008..0.008 rows=0 loops=350,244)

  • Index Cond: (person_id = rp.recipient_id)
  • Filter: (org_uuid = 'a7d08606-2fa6-4830-b14c-f5c5a59b1472'::uuid)
  • Rows Removed by Filter: 3
31. 5.638 5.638 ↑ 1.0 1 7,517 / 4

Index Scan using recipients_recipient_id_not_deleted_idx on recipients rd (cost=0.43..0.82 rows=1 width=115) (actual time=0.003..0.003 rows=1 loops=7,517)

  • Index Cond: (recipient_id = dvc.dvc_id)
32. 11.275 11.275 ↑ 1.1 11,961 4 / 4

Index Scan using sites_pk on sites (cost=0.29..965.38 rows=13,120 width=16) (actual time=0.044..11.275 rows=11,961 loops=4)

33. 0.438 0.974 ↑ 1.0 1,539 4 / 4

Hash (cost=51.39..51.39 rows=1,539 width=28) (actual time=0.974..0.974 rows=1,539 loops=4)

  • Buckets: 2048 Batches: 1 Memory Usage: 113kB
34. 0.536 0.536 ↑ 1.0 1,539 4 / 4

Seq Scan on org_dvc_names odn (cost=0.00..51.39 rows=1,539 width=28) (actual time=0.023..0.536 rows=1,539 loops=4)

35. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using org_svc_provs_pk on org_svc_provs osp (cost=0.28..0.30 rows=1 width=38) (never executed)

  • Index Cond: (org_svc_prov_id = dvc.org_svc_prov_id)
  • Filter: (deleted_id = '-1'::integer)
36. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using addresses_pk on addresses (cost=0.42..0.76 rows=1 width=16) (never executed)

  • Index Cond: (address_id = sites.address_id)
37. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using countries_pk on countries site_c (cost=0.14..0.16 rows=1 width=14) (never executed)

  • Index Cond: (country_id = addresses.country_id)
38. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using voc_dvc_dtl_pk on voc_dvc_dtl voc (cost=0.43..0.61 rows=1 width=27) (never executed)

  • Index Cond: (dvc.dvc_id = dvc_id)
39. 0.000 0.000 ↓ 0.0 0 / 4

Sort (cost=12.85..13.02 rows=70 width=674) (never executed)

  • Sort Key: numpage.dvc_id
40. 0.000 0.000 ↓ 0.0 0 / 4

Seq Scan on num_page_dvc_dtl numpage (cost=0.00..10.70 rows=70 width=674) (never executed)

41. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using fax_dvc_dtl_pk on fax_dvc_dtl fax (cost=0.26..0.28 rows=1 width=21) (never executed)

  • Index Cond: (dvc.dvc_id = dvc_id)
42. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using txt_phone_dvc_dtl_pk on txt_phone_dvc_dtl txtph (cost=0.42..0.50 rows=1 width=23) (never executed)

  • Index Cond: (dvc.dvc_id = dvc_id)
43. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using email_dvc_dtl_pk on email_dvc_dtl edd (cost=0.43..0.56 rows=1 width=33) (never executed)

  • Index Cond: (dvc.dvc_id = dvc_id)
44. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using apple_push_dvc_dtl_pk on apple_push_dvc_dtl push (cost=0.28..0.30 rows=1 width=134) (never executed)

  • Index Cond: (dvc.dvc_id = dvc_id)
45. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using im_dvc_dtl_pk on im_dvc_dtl im (cost=0.14..0.16 rows=1 width=226) (never executed)

  • Index Cond: (dvc.dvc_id = dvc_id)
46. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using gen_dvc_dtl_pk on gen_dvc_dtl gen (cost=0.14..0.16 rows=1 width=226) (never executed)

  • Index Cond: (dvc.dvc_id = dvc_id)
47. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using voice_ivr_dvc_dtl_pk on voice_ivr_dvc_dtl voiceivr (cost=0.14..0.16 rows=1 width=174) (never executed)

  • Index Cond: (dvc.dvc_id = dvc_id)
48. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using gcm_push_dvc_dtl_pk on gcm_push_dvc_dtl gcm (cost=0.28..0.30 rows=1 width=191) (never executed)

  • Index Cond: (dvc.dvc_id = dvc_id)
49. 0.000 0.000 ↓ 0.0 0 / 4

Hash (cost=1.09..1.09 rows=9 width=19) (never executed)

50. 0.000 0.000 ↓ 0.0 0 / 4

Seq Scan on txt_page_dvc_dtl txtpage (cost=0.00..1.09 rows=9 width=19) (never executed)

51. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using country_code_uc on countries voc_c (cost=0.14..0.16 rows=1 width=6) (never executed)

  • Index Cond: ((voc.country_code)::text = (country_code)::text)
52. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using country_code_uc on countries txtph_c (cost=0.14..0.16 rows=1 width=6) (never executed)

  • Index Cond: ((txtph.country_code)::text = (country_code)::text)
53. 0.000 0.000 ↓ 0.0 0 / 4

Hash (cost=7.48..7.48 rows=248 width=6) (never executed)

54. 0.000 0.000 ↓ 0.0 0 / 4

Seq Scan on countries numpage_c (cost=0.00..7.48 rows=248 width=6) (never executed)

55. 0.000 0.000 ↓ 0.0 0 / 4

Index Scan using country_code_uc on countries voiceivr_c (cost=0.14..0.24 rows=1 width=6) (never executed)

  • Index Cond: ((voiceivr.country_code)::text = (country_code)::text)
56. 0.000 0.000 ↓ 0.0 0 / 4

Index Only Scan using person_sups_pk on person_sups (cost=0.42..0.44 rows=1 width=16) (never executed)

  • Index Cond: ((person_id = rp.recipient_id) AND (sup_id = 7731412))
  • Heap Fetches: 0
Planning time : 39.563 ms
Execution time : 1,440.097 ms