explain.depesz.com

PostgreSQL's explain analyze made readable

Result: erN

Settings
# exclusive inclusive rows x rows loops node
1. 0.383 1,559.549 ↑ 38.5 80 1

Nested Loop Left Join (cost=1,007.56..24,730.44 rows=3,081 width=3,834) (actual time=75.845..1,559.549 rows=80 loops=1)

2. 0.260 1,558.680 ↑ 4.6 27 1

Nested Loop Left Join (cost=1,007.13..23,678.99 rows=125 width=3,506) (actual time=75.801..1,558.680 rows=27 loops=1)

3. 0.310 1,558.339 ↑ 4.6 27 1

Nested Loop Left Join (cost=1,006.84..23,586.88 rows=125 width=3,166) (actual time=75.703..1,558.339 rows=27 loops=1)

4. 0.254 1,557.948 ↑ 2.6 27 1

Nested Loop Left Join (cost=1,006.41..23,466.47 rows=70 width=3,126) (actual time=75.670..1,557.948 rows=27 loops=1)

5. 0.234 1,557.397 ↑ 2.6 27 1

Nested Loop Left Join (cost=1,005.99..23,365.14 rows=70 width=3,035) (actual time=75.632..1,557.397 rows=27 loops=1)

6. 0.254 1,557.136 ↑ 2.6 27 1

Nested Loop Left Join (cost=1,005.70..23,313.56 rows=70 width=2,695) (actual time=75.610..1,557.136 rows=27 loops=1)

7. 0.259 1,555.882 ↑ 1.0 25 1

Nested Loop Left Join (cost=1,004.84..23,209.55 rows=25 width=2,542) (actual time=75.507..1,555.882 rows=25 loops=1)

  • Join Filter: (claim_medical.claim_status_id <> 2)
8. 0.214 1,555.523 ↑ 1.0 25 1

Nested Loop Left Join (cost=1,004.41..23,173.05 rows=25 width=2,502) (actual time=75.452..1,555.523 rows=25 loops=1)

9. 0.267 1,554.784 ↑ 1.0 25 1

Nested Loop Left Join (cost=1,003.85..23,128.59 rows=25 width=1,881) (actual time=75.368..1,554.784 rows=25 loops=1)

10. 0.045 1,554.242 ↑ 1.0 25 1

Limit (cost=1,003.01..23,070.80 rows=25 width=1,763) (actual time=75.299..1,554.242 rows=25 loops=1)

11. 582.492 1,554.197 ↑ 1,760.0 25 1

Gather Merge (cost=1,003.01..38,841,194.93 rows=44,001 width=1,763) (actual time=75.296..1,554.197 rows=25 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
12. 0.556 971.705 ↑ 733.4 25 3 / 3

Nested Loop Anti Join (cost=2.99..38,835,116.10 rows=18,334 width=1,763) (actual time=42.767..971.705 rows=25 loops=3)

  • Join Filter: (claim_medical.claim_status_id <> 1)
13. 0.930 970.099 ↑ 385.3 50 3 / 3

Nested Loop Left Join (cost=2.56..38,826,183.87 rows=19,266 width=1,759) (actual time=29.465..970.099 rows=50 loops=3)

14. 444.138 967.519 ↑ 385.3 50 3 / 3

Nested Loop Left Join (cost=2.14..38,817,749.00 rows=19,266 width=1,232) (actual time=29.336..967.519 rows=50 loops=3)

  • Join Filter: (claim_medical.claim_medical_id = claim_request.claim_medical_id)
  • Rows Removed by Join Filter: 2726950
15. 0.389 10.131 ↑ 385.3 50 3 / 3

Nested Loop (cost=2.14..3,442,916.59 rows=19,266 width=1,177) (actual time=2.904..10.131 rows=50 loops=3)

  • Join Filter: (employer.tenant_id = claim_tenant.tenant_id)
  • Rows Removed by Join Filter: 1
16. 2.982 8.792 ↑ 7,636.6 50 3 / 3

Nested Loop (cost=1.71..3,264,385.19 rows=381,828 width=1,181) (actual time=2.843..8.792 rows=50 loops=3)

  • Join Filter: ((employer.effective_date IS NULL) OR (employer.effective_date <= lower(claim_medical.date_of_service)))
17. 0.577 5.010 ↑ 18,431.5 50 3 / 3

Nested Loop (cost=1.42..2,971,546.76 rows=921,574 width=828) (actual time=0.330..5.010 rows=50 loops=3)

  • Join Filter: ((member.hire_term_daterange IS NULL) OR (member.hire_term_daterange @> lower(claim_medical.date_of_service)))
18. 0.299 3.153 ↑ 43,188.3 56 3 / 3

Nested Loop (cost=1.00..1,862,732.20 rows=2,418,546 width=618) (actual time=0.198..3.153 rows=56 loops=3)

19. 0.573 1.761 ↑ 43,195.9 55 3 / 3

Nested Loop (cost=0.56..626,999.56 rows=2,375,776 width=610) (actual time=0.129..1.761 rows=55 loops=3)

20. 0.696 0.696 ↑ 53,994.9 55 3 / 3

Parallel Index Scan using claim_medical_date_of_service_lower_claim_medical_id on claim_medical (cost=0.43..178,868.26 rows=2,969,720 width=558) (actual time=0.051..0.696 rows=55 loops=3)

21. 0.492 0.492 ↑ 1.0 1 164 / 3

Index Scan using claim_status_pkey on claim_status (cost=0.13..0.15 rows=1 width=52) (actual time=0.009..0.009 rows=1 loops=164)

  • Index Cond: (claim_status_id = claim_medical.claim_status_id)
  • Filter: ((name)::text <> 'In Process'::text)
22. 1.093 1.093 ↑ 3.0 1 164 / 3

Index Scan using claim_member__claim_medical_id on claim_member (cost=0.43..0.49 rows=3 width=8) (actual time=0.018..0.020 rows=1 loops=164)

  • Index Cond: (claim_medical_id = claim_medical.claim_medical_id)
23. 1.280 1.280 ↑ 1.0 1 167 / 3

Index Scan using member_pkey on member (cost=0.42..0.44 rows=1 width=214) (actual time=0.023..0.023 rows=1 loops=167)

  • Index Cond: (id = claim_member.member_id)
  • Filter: ((deleted IS FALSE) AND (archived IS FALSE))
  • Rows Removed by Filter: 0
24. 0.800 0.800 ↑ 1.0 1 150 / 3

Index Scan using employer_pkey on employer (cost=0.29..0.30 rows=1 width=353) (actual time=0.016..0.016 rows=1 loops=150)

  • Index Cond: (employer_id = member.employer_id)
  • Filter: (archived IS FALSE)
25. 0.950 0.950 ↑ 1.0 1 150 / 3

Index Scan using claim_tenant__claim_medical_id on claim_tenant (cost=0.43..0.46 rows=1 width=8) (actual time=0.016..0.019 rows=1 loops=150)

  • Index Cond: (claim_medical_id = claim_medical.claim_medical_id)
26. 513.250 513.250 ↑ 1.0 54,539 150 / 3

Seq Scan on claim_request (cost=0.00..1,154.39 rows=54,539 width=55) (actual time=0.009..10.265 rows=54,539 loops=150)

27. 1.650 1.650 ↑ 1.0 1 150 / 3

Index Scan using policy_holder_pkey on policy_holder (cost=0.42..0.44 rows=1 width=527) (actual time=0.033..0.033 rows=1 loops=150)

  • Index Cond: (policy_holder_id = claim_medical.policy_holder_id)
28. 1.050 1.050 ↓ 0.0 0 150 / 3

Index Only Scan using claim_medical_read_cla_read on claim_medical_read (cost=0.43..0.45 rows=1 width=12) (actual time=0.021..0.021 rows=0 loops=150)

  • Index Cond: ((claim_medical_id = claim_medical.claim_medical_id) AND (read_datetime > claim_medical.last_updated_status))
  • Heap Fetches: 75
29. 0.050 0.275 ↓ 0.0 0 25

Nested Loop (cost=0.84..2.29 rows=1 width=122) (actual time=0.011..0.011 rows=0 loops=25)

30. 0.225 0.225 ↓ 0.0 0 25

Index Only Scan using claim_tpafile_unique on claim_tpafile claim_tpafile_1 (cost=0.28..0.71 rows=1 width=8) (actual time=0.009..0.009 rows=0 loops=25)

  • Index Cond: (claim_medical_id = claim_medical.claim_medical_id)
  • Heap Fetches: 0
31. 0.000 0.000 ↓ 0.0 0

Index Scan using screenshot_pkey on tpafile tpafile_1 (cost=0.56..1.58 rows=1 width=118) (never executed)

  • Index Cond: (tpafile_id = claim_tpafile_1.tpafile_id)
32. 0.200 0.525 ↑ 1.0 1 25

Nested Loop (cost=0.56..1.77 rows=1 width=625) (actual time=0.020..0.021 rows=1 loops=25)

33. 0.100 0.100 ↑ 1.0 1 25

Index Scan using policy_holder_pkey on policy_holder policy_holder_1 (cost=0.42..1.44 rows=1 width=8) (actual time=0.004..0.004 rows=1 loops=25)

  • Index Cond: (policy_holder_id = claim_medical.policy_holder_id)
34. 0.225 0.225 ↑ 1.0 1 25

Index Scan using payer_pkey on payer payer_1 (cost=0.14..0.33 rows=1 width=621) (actual time=0.009..0.009 rows=1 loops=25)

  • Index Cond: (payer_id = policy_holder_1.payer_id)
35. 0.100 0.100 ↓ 0.0 0 25

Index Scan using claim_medical_read_cla_read on claim_medical_read claim_medical_read_1 (cost=0.43..1.45 rows=1 width=40) (actual time=0.004..0.004 rows=0 loops=25)

  • Index Cond: ((claim_medical.claim_medical_id = claim_medical_id) AND (claim_medical.last_updated_status < read_datetime))
36. 0.224 1.000 ↑ 3.0 1 25

Nested Loop (cost=0.85..4.13 rows=3 width=157) (actual time=0.039..0.040 rows=1 loops=25)

37. 0.425 0.425 ↑ 3.0 1 25

Index Scan using dependent_claim__claim_medical_id on dependent_claim dependent_claim_1 (cost=0.43..1.53 rows=3 width=8) (actual time=0.017..0.017 rows=1 loops=25)

  • Index Cond: (claim_medical.claim_medical_id = claim_medical_id)
38. 0.351 0.351 ↑ 1.0 1 27

Index Scan using dependent_pkey on dependent dependent_1 (cost=0.42..0.87 rows=1 width=153) (actual time=0.013..0.013 rows=1 loops=27)

  • Index Cond: (id = dependent_claim_1.dependent_id)
39. 0.027 0.027 ↓ 0.0 0 27

Index Scan using user_account_pkey on user_account user_account_1 (cost=0.29..0.74 rows=1 width=340) (actual time=0.001..0.001 rows=0 loops=27)

  • Index Cond: (user_id = claim_medical_read_1.read_by_id)
40. 0.297 0.297 ↓ 0.0 0 27

Index Scan using claim_member_export__claim_medical_id_member_id_vendor_id on claim_member_export claim_member_export_1 (cost=0.42..1.44 rows=1 width=91) (actual time=0.011..0.011 rows=0 loops=27)

  • Index Cond: (claim_medical.claim_medical_id = claim_medical_id)
41. 0.081 0.081 ↓ 0.0 0 27

Index Scan using claim_medical_read_cla_read on claim_medical_read claim_medical_read_2 (cost=0.43..1.70 rows=2 width=40) (actual time=0.003..0.003 rows=0 loops=27)

  • Index Cond: (claim_medical.claim_medical_id = claim_medical_id)
42. 0.081 0.081 ↓ 0.0 0 27

Index Scan using user_account_pkey on user_account user_account_2 (cost=0.29..0.74 rows=1 width=340) (actual time=0.003..0.003 rows=0 loops=27)

  • Index Cond: (user_id = claim_medical_read_2.read_by_id)
43. 0.486 0.486 ↑ 8.3 3 27

Index Scan using claim_medical_line_claim_medical_vendor_system_id_unique on claim_medical_line claim_medical_line_1 (cost=0.43..8.16 rows=25 width=328) (actual time=0.017..0.018 rows=3 loops=27)

  • Index Cond: (claim_medical.claim_medical_id = claim_medical_id)
Planning time : 30.054 ms
Execution time : 1,561.008 ms