explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 42tW

Settings
# exclusive inclusive rows x rows loops node
1. 213.662 12,211.468 ↑ 1.0 1 1

Gather (cost=20,728.66..542,234.78 rows=1 width=50) (actual time=9,676.903..12,211.468 rows=1 loops=1)

  • Output: "lifepolicies$policygroupcover".id, "lifepolicies$policygroupcover".nextbirthday, "lifepolicies$policygroupcover".coverlimitreached, "lifepolicies$policygroupcover"."primary", "dj7audittrail$audittrailsuperclass".changeddate, "dj7audittrail$audittrailsuperclass".createddate, "dj7audittrail$audittrailsuperclass"."system$owner", "dj7audittrail$audittrailsuperclass"."system$changedby
  • Workers Planned: 2
  • Workers Launched: 2
2. 37.176 11,997.806 ↓ 0.0 0 3 / 3

Hash Semi Join (cost=19,728.66..541,234.68 rows=1 width=50) (actual time=11,324.026..11,997.806 rows=0 loops=3)

  • Output: "lifepolicies$policygroupcover".id, "lifepolicies$policygroupcover".nextbirthday, "lifepolicies$policygroupcover".coverlimitreached, "lifepolicies$policygroupcover"."primary", "dj7audittrail$audittrailsuperclass".changeddate, "dj7audittrail$audittrailsuperclass".createddate, "dj7audittrail$audittrailsuperclass"."system$owner", "dj7audittrail$audittrailsuperclass"."system$changedby
  • Hash Cond: ("dj7audittrail$audittrailsuperclass".id = "a4lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid")
  • Worker 0: actual time=12110.344..12110.344 rows=0 loops=1
  • Worker 1: actual time=12185.558..12185.558 rows=0 loops=1
  • + New Plan
  • About
3. 6,839.884 11,960.483 ↑ 1.3 192,429 3 / 3

Hash Join (cost=19,692.12..540,566.72 rows=240,539 width=58) (actual time=710.216..11,960.483 rows=192,429 loops=3)

  • Output: "lifepolicies$policygroupcover".id, "lifepolicies$policygroupcover".nextbirthday, "lifepolicies$policygroupcover".coverlimitreached, "lifepolicies$policygroupcover"."primary", "dj7audittrail$audittrailsuperclass".changeddate, "dj7audittrail$audittrailsuperclass".createddate, "dj7audittrail$audittrailsuperclass"."system$owner", "dj7audittrail$audittrailsuperclass"."system$changedby", "dj7audittrail$audittrailsuperclass".id
  • Inner Unique: true
  • Hash Cond: ("dj7audittrail$audittrailsuperclass".id = "lifepolicies$policygroupcover".id)
  • Worker 0: actual time=625.565..12065.404 rows=207673 loops=1
  • Worker 1: actual time=641.158..12144.116 rows=178789 loops=1
4. 4,576.202 4,576.202 ↑ 1.4 6,347,839 3 / 3

Parallel Seq Scan on public."audittrail$audittrailsuperclass" "dj7audittrail$audittrailsuperclass" (cost=0.00..352,906.66 rows=9,018,266 width=40) (actual time=0.008..4,576.202 rows=6,347,839 loops=3)

  • Output: "dj7audittrail$audittrailsuperclass".changeddate, "dj7audittrail$audittrailsuperclass".createddate, "dj7audittrail$audittrailsuperclass"."system$owner", "dj7audittrail$audittrailsuperclass"."system$changedby", "dj7audittrail$audittrailsuperclass".id
  • Worker 0: actual time=0.007..4671.992 rows=6244663 loops=1
  • Worker 1: actual time=0.008..4510.098 rows=5958090 loops=1
5. 298.527 544.397 ↑ 1.0 577,287 3 / 3

Hash (cost=9,092.94..9,092.94 rows=577,294 width=18) (actual time=544.397..544.397 rows=577,287 loops=3)

  • Output: "lifepolicies$policygroupcover".id, "lifepolicies$policygroupcover".nextbirthday, "lifepolicies$policygroupcover".coverlimitreached, "lifepolicies$policygroupcover"."primary
  • Buckets: 65536 Batches: 16 Memory Usage: 2098kB
  • Worker 0: actual time=522.442..522.442 rows=577287 loops=1
  • Worker 1: actual time=562.436..562.436 rows=577287 loops=1
6. 245.870 245.870 ↑ 1.0 577,287 3 / 3

Seq Scan on public."lifepolicies$policygroupcover" (cost=0.00..9,092.94 rows=577,294 width=18) (actual time=0.017..245.870 rows=577,287 loops=3)

  • Output: "lifepolicies$policygroupcover".id, "lifepolicies$policygroupcover".nextbirthday, "lifepolicies$policygroupcover".coverlimitreached, "lifepolicies$policygroupcover"."primary
  • Worker 0: actual time=0.022..241.900 rows=577287 loops=1
  • Worker 1: actual time=0.021..250.145 rows=577287 loops=1
7. 0.005 0.147 ↑ 1.0 1 3 / 3

Hash (cost=36.53..36.53 rows=1 width=32) (actual time=0.147..0.147 rows=1 loops=3)

  • Output: "c3lifepolicies$policygroupcover_policy"."lifepolicies$policygroupcoverid", "a4lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a5lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a6lifepolicies$policygroupcover_role"."lifepolicies$policygroupcoverid
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Worker 0: actual time=0.149..0.149 rows=1 loops=1
  • Worker 1: actual time=0.162..0.162 rows=1 loops=1
8. 0.001 0.142 ↑ 1.0 1 3 / 3

Nested Loop (cost=2.42..36.53 rows=1 width=32) (actual time=0.108..0.142 rows=1 loops=3)

  • Output: "c3lifepolicies$policygroupcover_policy"."lifepolicies$policygroupcoverid", "a4lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a5lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a6lifepolicies$policygroupcover_role"."lifepolicies$policygroupcoverid
  • Inner Unique: true
  • Worker 0: actual time=0.111..0.145 rows=1 loops=1
  • Worker 1: actual time=0.122..0.156 rows=1 loops=1
9. 0.000 0.129 ↑ 1.0 1 3 / 3

Nested Loop (cost=2.27..36.37 rows=1 width=40) (actual time=0.096..0.129 rows=1 loops=3)

  • Output: "c3lifepolicies$policygroupcover_policy"."lifepolicies$policygroupcoverid", "a4lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a5lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a5lifepolicies$policygroupcover_productbenefitgroup"."lifeproducts$productbenefitgroupid", "a6lifepolicies$policygroupcover_role"."lifepolicies$policygroupcoverid
  • Inner Unique: true
  • Worker 0: actual time=0.099..0.133 rows=1 loops=1
  • Worker 1: actual time=0.109..0.143 rows=1 loops=1
10. 0.003 0.112 ↑ 1.0 1 3 / 3

Nested Loop (cost=2.13..36.20 rows=1 width=48) (actual time=0.078..0.112 rows=1 loops=3)

  • Output: "c3lifepolicies$policygroupcover_policy"."lifepolicies$policygroupcoverid", "a4lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a4lifepolicies$policygroupcover_productbenefitgroup"."lifeproducts$productbenefitgroupid", "a5lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a5lifepolicies$policygroupcover_productbenefitgroup"."lifeproducts$productbenefitgroupid", "a6lifepolicies$policygroupcover_role"."lifepolicies$policygroupcoverid
  • Inner Unique: true
  • Join Filter: ("a4lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid" = "c3lifepolicies$policygroupcover_policy"."lifepolicies$policygroupcoverid")
  • Worker 0: actual time=0.082..0.116 rows=1 loops=1
  • Worker 1: actual time=0.089..0.122 rows=1 loops=1
11. 0.002 0.089 ↓ 2.0 2 3 / 3

Nested Loop (cost=1.70..35.71 rows=1 width=40) (actual time=0.063..0.089 rows=2 loops=3)

  • Output: "a4lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a4lifepolicies$policygroupcover_productbenefitgroup"."lifeproducts$productbenefitgroupid", "a5lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a5lifepolicies$policygroupcover_productbenefitgroup"."lifeproducts$productbenefitgroupid", "a6lifepolicies$policygroupcover_role"."lifepolicies$policygroupcoverid
  • Inner Unique: true
  • Worker 0: actual time=0.065..0.092 rows=2 loops=1
  • Worker 1: actual time=0.073..0.099 rows=2 loops=1
12. 0.003 0.075 ↓ 2.0 2 3 / 3

Nested Loop (cost=1.28..35.23 rows=1 width=24) (actual time=0.052..0.075 rows=2 loops=3)

  • Output: "a4lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a4lifepolicies$policygroupcover_productbenefitgroup"."lifeproducts$productbenefitgroupid", "a6lifepolicies$policygroupcover_role"."lifepolicies$policygroupcoverid
  • Inner Unique: true
  • Worker 0: actual time=0.055..0.079 rows=2 loops=1
  • Worker 1: actual time=0.059..0.081 rows=2 loops=1
13. 0.004 0.054 ↓ 2.0 2 3 / 3

Nested Loop (cost=0.85..34.76 rows=1 width=8) (actual time=0.039..0.054 rows=2 loops=3)

  • Output: "a6lifepolicies$policygroupcover_role"."lifepolicies$policygroupcoverid
  • Worker 0: actual time=0.041..0.056 rows=2 loops=1
  • Worker 1: actual time=0.044..0.058 rows=2 loops=1
14. 0.026 0.026 ↓ 1.5 3 3 / 3

Index Only Scan using "idx_lifepolicies$role_person" on public."lifepolicies$role_person" "c2lifepolicies$role_person" (cost=0.43..10.33 rows=2 width=8) (actual time=0.023..0.026 rows=3 loops=3)

  • Output: "c2lifepolicies$role_person"."lifepolicies$personid", "c2lifepolicies$role_person"."lifepolicies$roleid
  • Index Cond: ("c2lifepolicies$role_person"."lifepolicies$personid" = '47287796087390209'::bigint)
  • Heap Fetches: 3
  • Worker 0: actual time=0.026..0.029 rows=3 loops=1
  • Worker 1: actual time=0.028..0.031 rows=3 loops=1
15. 0.024 0.024 ↑ 2.0 1 9 / 3

Index Only Scan using "idx_lifepolicies$policygroupcover_role" on public."lifepolicies$policygroupcover_role" "a6lifepolicies$policygroupcover_role" (cost=0.42..12.19 rows=2 width=16) (actual time=0.007..0.008 rows=1 loops=9)

  • Output: "a6lifepolicies$policygroupcover_role"."lifepolicies$roleid", "a6lifepolicies$policygroupcover_role"."lifepolicies$policygroupcoverid
  • Index Cond: ("a6lifepolicies$policygroupcover_role"."lifepolicies$roleid" = "c2lifepolicies$role_person"."lifepolicies$roleid")
  • Heap Fetches: 2
  • Worker 0: actual time=0.007..0.008 rows=1 loops=3
  • Worker 1: actual time=0.007..0.008 rows=1 loops=3
16. 0.018 0.018 ↑ 1.0 1 6 / 3

Index Scan using "uniq_lifepolic$policygroup_productbenefi_lifepolic$policygroupc" on public."lifepolicies$policygroupcover_productbenefitgroup" "a4lifepolicies$policygroupcover_productbenefitgroup" (cost=0.42..0.48 rows=1 width=16) (actual time=0.009..0.009 rows=1 loops=6)

  • Output: "a4lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a4lifepolicies$policygroupcover_productbenefitgroup"."lifeproducts$productbenefitgroupid
  • Index Cond: ("a4lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid" = "a6lifepolicies$policygroupcover_role"."lifepolicies$policygroupcoverid")
  • Worker 0: actual time=0.010..0.010 rows=1 loops=2
  • Worker 1: actual time=0.010..0.010 rows=1 loops=2
17. 0.012 0.012 ↑ 1.0 1 6 / 3

Index Scan using "uniq_lifepolic$policygroup_productbenefi_lifepolic$policygroupc" on public."lifepolicies$policygroupcover_productbenefitgroup" "a5lifepolicies$policygroupcover_productbenefitgroup" (cost=0.42..0.48 rows=1 width=16) (actual time=0.006..0.006 rows=1 loops=6)

  • Output: "a5lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid", "a5lifepolicies$policygroupcover_productbenefitgroup"."lifeproducts$productbenefitgroupid
  • Index Cond: ("a5lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid" = "a4lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid")
  • Worker 0: actual time=0.006..0.006 rows=1 loops=2
  • Worker 1: actual time=0.008..0.008 rows=1 loops=2
18. 0.020 0.020 ↓ 0.0 0 6 / 3

Index Scan using "uniq_lifepolici$policygroupco_policy_lifepolici$policygroupcove" on public."lifepolicies$policygroupcover_policy" "c3lifepolicies$policygroupcover_policy" (cost=0.42..0.48 rows=1 width=8) (actual time=0.010..0.010 rows=0 loops=6)

  • Output: "c3lifepolicies$policygroupcover_policy"."lifepolicies$policygroupcoverid", "c3lifepolicies$policygroupcover_policy"."lifepolicies$policyid
  • Index Cond: ("c3lifepolicies$policygroupcover_policy"."lifepolicies$policygroupcoverid" = "a5lifepolicies$policygroupcover_productbenefitgroup"."lifepolicies$policygroupcoverid")
  • Filter: ("c3lifepolicies$policygroupcover_policy"."lifepolicies$policyid" = '26458647810801765'::bigint)
  • Rows Removed by Filter: 0
  • Worker 0: actual time=0.011..0.011 rows=0 loops=2
  • Worker 1: actual time=0.010..0.010 rows=0 loops=2
19. 0.017 0.017 ↑ 1.0 1 3 / 3

Index Only Scan using "idx_lifeproducts$productbenefitgroup_coverlimitcategory" on public."lifeproducts$productbenefitgroup_coverlimitcategory" "c1lifeproducts$productbenefitgroup_coverlimitcategory" (cost=0.14..0.17 rows=1 width=8) (actual time=0.017..0.017 rows=1 loops=3)

  • Output: "c1lifeproducts$productbenefitgroup_coverlimitcategory"."lifeproducts$coverlimitcategoryid", "c1lifeproducts$productbenefitgroup_coverlimitcategory"."lifeproducts$productbenefitgroupid
  • Index Cond: (("c1lifeproducts$productbenefitgroup_coverlimitcategory"."lifeproducts$coverlimitcategoryid" = '49539595901075457'::bigint) AND ("c1lifeproducts$productbenefitgroup_coverlimitcategory"."lifeproducts$productbenefitgroupid" = "a4lifepolicies$policygroupcover_productbenefitgroup"."lifeproducts$productbenefitgroupid"))
  • Heap Fetches: 1
  • Worker 0: actual time=0.016..0.016 rows=1 loops=1
  • Worker 1: actual time=0.020..0.020 rows=1 loops=1
20. 0.012 0.012 ↑ 1.0 1 3 / 3

Index Scan using "lifeproducts$productbenefitgroup_pkey" on public."lifeproducts$productbenefitgroup" "x2LifeProduct.ProductBenefitGr" (cost=0.14..0.16 rows=1 width=8) (actual time=0.012..0.012 rows=1 loops=3)

  • Output: "x2LifeProduct.ProductBenefitGr".id, "x2LifeProduct.ProductBenefitGr".payout_schedule, "x2LifeProduct.ProductBenefitGr".extrachildcost, "x2LifeProduct.ProductBenefitGr".description, "x2LifeProduct.ProductBenefitGr".primarygroup, "x2LifeProduct.ProductBenefitGr".category, "x2LifeProduct.ProductBenefitGr".optional, "x2LifeProduct.ProductBenefitGr".maximumchildren, "x2LifeProduct.ProductBenefitGr".depletedbyclaims, "x2LifeProduct.ProductBenefitGr".benefitgroupcode, "x2LifeProduct.ProductBenefitGr".individualcoverlevels, "x2LifeProduct.ProductBenefitGr".paidupage, "x2LifeProduct.ProductBenefitGr".yearlycoverincrease, "x2LifeProduct.ProductBenefitGr".yearlypremiumincrease, "x2LifeProduct.ProductBenefitGr".yearlycoverlimit, "x2LifeProduct.ProductBenefitGr".requiredpickpremiumrelatedpremium, "x2LifeProduct.ProductBenefitGr".applytocoverlimit, "x2LifeProduct.ProductBenefitGr".maxnoncontributoryextendedmember, "x2LifeProduct.ProductBenefitGr".coversnoncontrabutoryextendeds, "x2LifeProduct.ProductBenefitGr".productbenefittype, "x2LifeProduct.ProductBenefitGr".changeddate, "x2LifeProduct.ProductBenefitGr".createddate, "x2LifeProduct.ProductBenefitGr"."system$changedby", "x2LifeProduct.ProductBenefitGr"."system$owner
  • Index Cond: ("x2LifeProduct.ProductBenefitGr".id = "a5lifepolicies$policygroupcover_productbenefitgroup"."lifeproducts$productbenefitgroupid")
  • Filter: "x2LifeProduct.ProductBenefitGr".applytocoverlimit
  • Worker 0: actual time=0.011..0.011 rows=1 loops=1
  • Worker 1: actual time=0.012..0.012 rows=1 loops=1
Planning time : 14.011 ms
Execution time : 12,211.825 ms