explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ssG

Settings
# exclusive inclusive rows x rows loops node
1. 118.292 11,050.720 ↑ 33.4 10,056 1

Sort (cost=1,289,708.09..1,290,546.73 rows=335,455 width=348) (actual time=11,046.331..11,050.720 rows=10,056 loops=1)

  • Output: (sum(adins.net_cost)), (sum(adins.target_impressions)), ((('1000'::double precision * sum(adins.net_cost)) / NULLIF(sum(adins.target_impressions), '0'::double precision))), mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_media_rfi.r1, opt_media_rfi.r1, a18_media_rfi.r1, media_base_pop.population, media_opt_pop.population, mdm_targetpopulation.population, base_target.rif_target_id, opt_target.rif_target_id, base_rif.short_name, opt_rif.short_name, brand.name, adins.brand_id, adins.target_id, mevo_configbrandtargetobjective.target_id, adins.configuration_id
  • Sort Key: adins.brand_id, rollup.name, mdm_media.short_name, mevo_configbrandtargetobjective.target_id
  • Sort Method: external sort Disk: 2840kB
2. 228.371 10,932.428 ↑ 33.4 10,056 1

GroupAggregate (cost=1,125,143.68..1,151,141.44 rows=335,455 width=348) (actual time=10,536.133..10,932.428 rows=10,056 loops=1)

  • Output: sum(adins.net_cost), sum(adins.target_impressions), (('1000'::double precision * sum(adins.net_cost)) / NULLIF(sum(adins.target_impressions), '0'::double precision)), mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_media_rfi.r1, opt_media_rfi.r1, a18_media_rfi.r1, media_base_pop.population, media_opt_pop.population, mdm_targetpopulation.population, base_target.rif_target_id, opt_target.rif_target_id, base_rif.short_name, opt_rif.short_name, brand.name, adins.brand_id, adins.target_id, mevo_configbrandtargetobjective.target_id, adins.configuration_id
  • Group Key: mdm_media.id, rollup.id, adins.target_id, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_media_rfi.r1, opt_media_rfi.r1, a18_media_rfi.r1, mdm_targetpopulation.population, media_base_pop.population, media_opt_pop.population, base_target.rif_target_id, opt_target.rif_target_id, base_rif.short_name, opt_rif.short_name, brand.name, adins.brand_id, adins.configuration_id, mevo_configbrandtargetobjective.target_id
3. 1,278.242 10,704.057 ↑ 1.1 300,979 1

Sort (cost=1,125,143.68..1,125,982.31 rows=335,455 width=340) (actual time=10,536.094..10,704.057 rows=300,979 loops=1)

  • Output: mdm_media.id, rollup.id, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_media_rfi.r1, opt_media_rfi.r1, a18_media_rfi.r1, media_base_pop.population, media_opt_pop.population, mdm_targetpopulation.population, base_target.rif_target_id, opt_target.rif_target_id, base_rif.short_name, opt_rif.short_name, brand.name, adins.brand_id, adins.target_id, mevo_configbrandtargetobjective.target_id, adins.configuration_id, adins.net_cost, adins.target_impressions, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, rollup.name
  • Sort Key: mdm_media.id, rollup.id, adins.target_id, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_media_rfi.r1, opt_media_rfi.r1, a18_media_rfi.r1, mdm_targetpopulation.population, media_base_pop.population, media_opt_pop.population, base_target.rif_target_id, opt_target.rif_target_id, base_rif.short_name, opt_rif.short_name, brand.name, adins.brand_id, mevo_configbrandtargetobjective.target_id
  • Sort Method: external merge Disk: 84368kB
4. 1,405.631 9,425.815 ↑ 1.1 300,979 1

Hash Left Join (cost=792,445.42..988,866.02 rows=335,455 width=340) (actual time=7,107.482..9,425.815 rows=300,979 loops=1)

  • Output: mdm_media.id, rollup.id, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_media_rfi.r1, opt_media_rfi.r1, a18_media_rfi.r1, media_base_pop.population, media_opt_pop.population, mdm_targetpopulation.population, base_target.rif_target_id, opt_target.rif_target_id, base_rif.short_name, opt_rif.short_name, brand.name, adins.brand_id, adins.target_id, mevo_configbrandtargetobjective.target_id, adins.configuration_id, adins.net_cost, adins.target_impressions, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, rollup.name
  • Hash Cond: ((a18_target.rif_target_id = a18_media_rfi.target_id) AND (adins.media_id = a18_media_rfi.media_id))
5. 477.425 7,541.713 ↑ 1.1 300,979 1

Nested Loop Left Join (cost=753,517.65..794,514.78 rows=335,455 width=340) (actual time=6,628.300..7,541.713 rows=300,979 loops=1)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_target.rif_target_id, base_rif.short_name, base_media_rfi.r1, opt_target.rif_target_id, opt_rif.short_name, opt_media_rfi.r1, a18_target.rif_target_id, mdm_targetpopulation.population, media_base_pop.population, media_opt_pop.population
6. 270.939 7,064.288 ↑ 1.1 300,979 1

Gather (cost=753,517.37..790,313.30 rows=335,455 width=336) (actual time=6,628.281..7,064.288 rows=300,979 loops=1)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_target.rif_target_id, base_rif.short_name, base_media_rfi.r1, opt_target.rif_target_id, opt_rif.short_name, opt_media_rfi.r1, mdm_targetpopulation.population, media_base_pop.population, media_opt_pop.population
  • Workers Planned: 2
  • Workers Launched: 2
7. 125.774 6,793.349 ↑ 1.4 100,326 3

Merge Left Join (cost=752,517.37..755,767.80 rows=139,773 width=336) (actual time=6,591.435..6,793.349 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_target.rif_target_id, base_rif.short_name, base_media_rfi.r1, opt_target.rif_target_id, opt_rif.short_name, opt_media_rfi.r1, mdm_targetpopulation.population, media_base_pop.population, media_opt_pop.population
  • Merge Cond: ((adins.target_id = media_base_pop.target_id) AND (mdm_media.geography_id = media_base_pop.geography_id))
  • Worker 0: actual time=6630.089..6847.370 rows=101462 loops=1
  • Worker 1: actual time=6517.839..6745.782 rows=98772 loops=1
8. 403.727 6,613.125 ↑ 1.1 100,326 3

Sort (cost=749,762.93..750,049.44 rows=114,606 width=328) (actual time=6,565.384..6,613.125 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_target.rif_target_id, base_rif.short_name, base_media_rfi.r1, opt_target.rif_target_id, opt_rif.short_name, opt_media_rfi.r1, mdm_targetpopulation.population, media_opt_pop.population
  • Sort Key: adins.target_id, mdm_media.geography_id
  • Sort Method: external sort Disk: 26912kB
  • Worker 0: actual time=6604.468..6656.882 rows=101462 loops=1
  • Worker 1: actual time=6490.904..6543.572 rows=98772 loops=1
9. 97.869 6,209.398 ↑ 1.1 100,326 3

Merge Left Join (cost=720,355.43..722,894.90 rows=114,606 width=328) (actual time=5,871.042..6,209.398 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_target.rif_target_id, base_rif.short_name, base_media_rfi.r1, opt_target.rif_target_id, opt_rif.short_name, opt_media_rfi.r1, mdm_targetpopulation.population, media_opt_pop.population
  • Merge Cond: (opt_target.id = mdm_targetpopulation.target_id)
  • Worker 0: actual time=5911.692..6248.608 rows=101462 loops=1
  • Worker 1: actual time=5798.571..6138.109 rows=98772 loops=1
10. 119.141 6,085.704 ↑ 1.1 100,326 3

Merge Left Join (cost=720,088.57..721,678.21 rows=114,606 width=324) (actual time=5,870.760..6,085.704 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_target.rif_target_id, base_rif.short_name, base_media_rfi.r1, opt_target.rif_target_id, opt_target.id, opt_rif.short_name, opt_media_rfi.r1, media_opt_pop.population
  • Merge Cond: ((opt_target.id = media_opt_pop.target_id) AND (mdm_media.geography_id = media_opt_pop.geography_id))
  • Worker 0: actual time=5911.417..6123.887 rows=101462 loops=1
  • Worker 1: actual time=5798.272..6014.577 rows=98772 loops=1
11. 281.963 5,909.276 ↑ 1.1 100,326 3

Sort (cost=717,334.12..717,620.63 rows=114,606 width=316) (actual time=5,833.234..5,909.276 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_target.rif_target_id, base_rif.short_name, base_media_rfi.r1, opt_target.rif_target_id, opt_target.id, opt_rif.short_name, opt_media_rfi.r1
  • Sort Key: opt_target.id, mdm_media.geography_id
  • Sort Method: external merge Disk: 25368kB
  • Worker 0: actual time=5874.794..5949.697 rows=101462 loops=1
  • Worker 1: actual time=5759.764..5836.237 rows=98772 loops=1
12. 452.535 5,627.313 ↑ 1.1 100,326 3

Merge Left Join (cost=622,664.98..690,858.09 rows=114,606 width=316) (actual time=3,959.548..5,627.313 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_target.rif_target_id, base_rif.short_name, base_media_rfi.r1, opt_target.rif_target_id, opt_target.id, opt_rif.short_name, opt_media_rfi.r1
  • Merge Cond: (adins.media_id = opt_media_rfi.media_id)
  • Join Filter: (opt_media_rfi.target_id = opt_target.rif_target_id)
  • Rows Removed by Join Filter: 105460
  • Worker 0: actual time=4012.915..5666.457 rows=101462 loops=1
  • Worker 1: actual time=3890.078..5558.173 rows=98772 loops=1
13. 343.451 4,698.994 ↑ 1.1 100,326 3

Merge Left Join (cost=622,664.56..629,888.73 rows=114,606 width=308) (actual time=3,839.214..4,698.994 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_target.rif_target_id, base_rif.short_name, base_media_rfi.r1, opt_target.rif_target_id, opt_target.id, opt_rif.short_name
  • Merge Cond: ((adins.media_id = base_media_rfi.media_id) AND (base_target.rif_target_id = base_media_rfi.target_id))
  • Worker 0: actual time=3895.404..4753.139 rows=101462 loops=1
  • Worker 1: actual time=3770.849..4624.692 rows=98772 loops=1
14. 267.576 2,980.721 ↑ 1.1 100,326 3

Sort (cost=526,521.34..526,807.85 rows=114,606 width=300) (actual time=2,935.034..2,980.721 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_target.rif_target_id, base_rif.short_name, opt_target.rif_target_id, opt_target.id, opt_rif.short_name
  • Sort Key: adins.media_id, base_target.rif_target_id
  • Sort Method: external sort Disk: 23448kB
  • Worker 0: actual time=2982.331..3027.834 rows=101462 loops=1
  • Worker 1: actual time=2878.985..2924.010 rows=98772 loops=1
15. 87.655 2,713.145 ↑ 1.1 100,326 3

Hash Left Join (cost=409,195.76..500,829.31 rows=114,606 width=300) (actual time=1,772.086..2,713.145 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, mdm_mediagroup.name, base_target.rif_target_id, base_rif.short_name, opt_target.rif_target_id, opt_target.id, opt_rif.short_name
  • Inner Unique: true
  • Hash Cond: (mdm_mediagrouplist.media_group_id = mdm_mediagroup.id)
  • Worker 0: actual time=1769.060..2751.244 rows=101462 loops=1
  • Worker 1: actual time=1769.085..2668.342 rows=98772 loops=1
16. 82.039 2,623.384 ↑ 1.1 100,326 3

Hash Left Join (cost=409,108.20..499,295.23 rows=114,606 width=283) (actual time=1,769.972..2,623.384 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, base_target.rif_target_id, base_rif.short_name, opt_target.rif_target_id, opt_target.id, opt_rif.short_name
  • Hash Cond: (adins.target_id = base_target.id)
  • Worker 0: actual time=1766.927..2658.862 rows=101462 loops=1
  • Worker 1: actual time=1766.943..2579.891 rows=98772 loops=1
17. 85.777 2,540.285 ↑ 1.1 100,326 3

Hash Left Join (cost=409,066.78..497,677.98 rows=114,606 width=269) (actual time=1,768.904..2,540.285 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id, opt_target.rif_target_id, opt_target.id, opt_rif.short_name
  • Hash Cond: (mevo_configbrandtargetobjective.target_id = opt_target.id)
  • Worker 0: actual time=1765.872..2573.090 rows=101462 loops=1
  • Worker 1: actual time=1765.899..2500.131 rows=98772 loops=1
18. 325.121 2,453.378 ↑ 1.1 100,326 3

Nested Loop Left Join (cost=409,025.36..496,060.73 rows=114,606 width=251) (actual time=1,767.769..2,453.378 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mevo_configbrandtargetobjective.target_id, brand.name, rollup.id, rollup.name, mdm_mediagrouplist.media_group_id
  • Inner Unique: true
  • Worker 0: actual time=1764.730..2482.663 rows=101462 loops=1
  • Worker 1: actual time=1764.747..2417.036 rows=98772 loops=1
19. 81.040 2,128.255 ↑ 1.1 100,326 3

Hash Left Join (cost=409,024.93..420,413.55 rows=114,606 width=164) (actual time=1,767.758..2,128.255 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mdm_media.parent_id, mevo_configbrandtargetobjective.target_id, brand.name, mdm_mediagrouplist.media_group_id
  • Hash Cond: ((report.campaign_id = mevo_configbrandtargetobjective.campaign_id) AND (adins.brand_id = mevo_configbrandtargetobjective.brand_id))
  • Worker 0: actual time=1764.718..2142.463 rows=101462 loops=1
  • Worker 1: actual time=1764.736..2107.083 rows=98772 loops=1
20. 77.073 2,045.485 ↑ 1.1 100,326 3

Hash Left Join (cost=408,967.45..411,182.74 rows=114,606 width=150) (actual time=1,766.021..2,045.485 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mdm_media.parent_id, report.campaign_id, mdm_mediagrouplist.media_group_id
  • Hash Cond: (adins.configuration_id = config.id)
  • Worker 0: actual time=1762.970..2055.962 rows=101462 loops=1
  • Worker 1: actual time=1762.985..2027.996 rows=98772 loops=1
21. 117.795 1,968.381 ↑ 1.1 100,326 3

Merge Left Join (cost=408,950.84..409,590.29 rows=114,606 width=146) (actual time=1,765.978..1,968.381 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mdm_media.parent_id, mdm_mediagrouplist.media_group_id
  • Merge Cond: (mdm_media.id = mdm_mediagrouplist.media_id)
  • Join Filter: (mdm_mediagrouplist.configuration_id = adins.configuration_id)
  • Worker 0: actual time=1762.917..1974.823 rows=101462 loops=1
  • Worker 1: actual time=1762.942..1954.220 rows=98772 loops=1
22. 132.530 1,781.045 ↑ 1.1 100,326 3

Sort (cost=400,164.72..400,451.24 rows=114,606 width=142) (actual time=1,730.881..1,781.045 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mdm_media.parent_id
  • Sort Key: mdm_media.id
  • Sort Method: external merge Disk: 15704kB
  • Worker 0: actual time=1726.373..1779.147 rows=101462 loops=1
  • Worker 1: actual time=1727.863..1775.091 rows=98772 loops=1
23. 272.042 1,648.515 ↑ 1.1 100,326 3

Hash Left Join (cost=97,048.25..382,305.69 rows=114,606 width=142) (actual time=1,315.768..1,648.515 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id, mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mdm_media.parent_id
  • Inner Unique: true
  • Hash Cond: (adins.media_id = mdm_media.id)
  • Worker 0: actual time=1313.407..1644.296 rows=101462 loops=1
  • Worker 1: actual time=1313.776..1646.262 rows=98772 loops=1
24. 61.675 61.675 ↑ 1.1 100,326 3

Parallel Index Scan using mdm_adinsertion_ab62a495 on public.mdm_adinsertion adins (cost=0.44..264,245.98 rows=114,606 width=32) (actual time=0.019..61.675 rows=100,326 loops=3)

  • Output: adins.net_cost, adins.target_impressions, adins.brand_id, adins.target_id, adins.configuration_id, adins.media_id
  • Index Cond: (adins.configuration_id = 1557)
  • Filter: (adins.net_cost > '0'::double precision)
  • Worker 0: actual time=0.016..62.019 rows=101462 loops=1
  • Worker 1: actual time=0.024..61.414 rows=98772 loops=1
25. 750.733 1,314.798 ↓ 1.0 1,105,786 3

Hash (cost=65,500.36..65,500.36 rows=1,084,036 width=110) (actual time=1,314.798..1,314.798 rows=1,105,786 loops=3)

  • Output: mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mdm_media.parent_id
  • Buckets: 32768 Batches: 64 Memory Usage: 2750kB
  • Worker 0: actual time=1313.075..1313.075 rows=1105786 loops=1
  • Worker 1: actual time=1313.073..1313.073 rows=1105786 loops=1
26. 564.065 564.065 ↓ 1.0 1,105,786 3

Seq Scan on public.mdm_media (cost=0.00..65,500.36 rows=1,084,036 width=110) (actual time=0.009..564.065 rows=1,105,786 loops=3)

  • Output: mdm_media.id, mdm_media.name, mdm_media.short_name, mdm_media.geography_id, mdm_media.parent_id
  • Worker 0: actual time=0.011..568.419 rows=1105786 loops=1
  • Worker 1: actual time=0.011..554.395 rows=1105786 loops=1
27. 38.122 69.541 ↓ 10.1 106,238 3

Sort (cost=8,785.93..8,812.27 rows=10,538 width=12) (actual time=35.086..69.541 rows=106,238 loops=3)

  • Output: mdm_mediagrouplist.media_group_id, mdm_mediagrouplist.media_id, mdm_mediagrouplist.configuration_id
  • Sort Key: mdm_mediagrouplist.media_id
  • Sort Method: quicksort Memory: 856kB
  • Worker 0: actual time=36.529..72.792 rows=107367 loops=1
  • Worker 1: actual time=35.072..67.330 rows=104729 loops=1
28. 31.419 31.419 ↑ 1.0 10,056 3

Seq Scan on public.mdm_mediagrouplist (cost=0.00..8,081.81 rows=10,538 width=12) (actual time=26.521..31.419 rows=10,056 loops=3)

  • Output: mdm_mediagrouplist.media_group_id, mdm_mediagrouplist.media_id, mdm_mediagrouplist.configuration_id
  • Filter: (mdm_mediagrouplist.configuration_id = 1557)
  • Rows Removed by Filter: 372751
  • Worker 0: actual time=27.815..32.884 rows=10056 loops=1
  • Worker 1: actual time=26.327..31.214 rows=10056 loops=1
29. 0.003 0.031 ↑ 1.0 1 3

Hash (cost=16.60..16.60 rows=1 width=8) (actual time=0.031..0.031 rows=1 loops=3)

  • Output: config.id, report.campaign_id
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Worker 0: actual time=0.040..0.040 rows=1 loops=1
  • Worker 1: actual time=0.030..0.030 rows=1 loops=1
30. 0.006 0.028 ↑ 1.0 1 3

Nested Loop Left Join (cost=0.56..16.60 rows=1 width=8) (actual time=0.026..0.028 rows=1 loops=3)

  • Output: config.id, report.campaign_id
  • Inner Unique: true
  • Worker 0: actual time=0.035..0.037 rows=1 loops=1
  • Worker 1: actual time=0.026..0.027 rows=1 loops=1
31. 0.013 0.013 ↑ 1.0 1 3

Index Scan using mevo_configuration_pkey on public.mevo_configuration config (cost=0.28..8.29 rows=1 width=8) (actual time=0.012..0.013 rows=1 loops=3)

  • Output: config.id, config.name, config.notes, config.config_media_id, config.workpackage_id
  • Index Cond: (config.id = 1557)
  • Worker 0: actual time=0.016..0.017 rows=1 loops=1
  • Worker 1: actual time=0.011..0.011 rows=1 loops=1
32. 0.009 0.009 ↑ 1.0 1 3

Index Scan using erm_client_report_pkey on public.erm_client_report report (cost=0.28..8.29 rows=1 width=8) (actual time=0.009..0.009 rows=1 loops=3)

  • Output: report.id, report.name, report.report_period, report.report_phase, report.meta_1, report.meta_2, report.meta_3, report.meta_4, report.start_date, report.end_date, report.created_at, report.updated_at, report.campaign_id, report.active, report.approval_state, report.state_id
  • Index Cond: (config.workpackage_id = report.id)
  • Worker 0: actual time=0.013..0.013 rows=1 loops=1
  • Worker 1: actual time=0.011..0.011 rows=1 loops=1
33. 0.155 1.730 ↓ 1.1 338 3

Hash (cost=53.04..53.04 rows=296 width=26) (actual time=1.730..1.730 rows=338 loops=3)

  • Output: mevo_configbrandtargetobjective.target_id, mevo_configbrandtargetobjective.campaign_id, mevo_configbrandtargetobjective.brand_id, brand.name
  • Buckets: 1024 Batches: 1 Memory Usage: 26kB
  • Worker 0: actual time=1.740..1.740 rows=338 loops=1
  • Worker 1: actual time=1.744..1.744 rows=338 loops=1
34. 0.247 1.575 ↓ 1.1 338 3

Hash Left Join (cost=43.39..53.04 rows=296 width=26) (actual time=1.194..1.575 rows=338 loops=3)

  • Output: mevo_configbrandtargetobjective.target_id, mevo_configbrandtargetobjective.campaign_id, mevo_configbrandtargetobjective.brand_id, brand.name
  • Inner Unique: true
  • Hash Cond: (mevo_configbrandtargetobjective.brand_id = brand.id)
  • Worker 0: actual time=1.203..1.585 rows=338 loops=1
  • Worker 1: actual time=1.199..1.587 rows=338 loops=1
35. 0.576 0.866 ↓ 1.1 338 3

HashAggregate (cost=23.04..26.00 rows=296 width=13) (actual time=0.726..0.866 rows=338 loops=3)

  • Output: mevo_configbrandtargetobjective.active, mevo_configbrandtargetobjective.campaign_id, mevo_configbrandtargetobjective.brand_id, mevo_configbrandtargetobjective.target_id
  • Group Key: mevo_configbrandtargetobjective.active, mevo_configbrandtargetobjective.campaign_id, mevo_configbrandtargetobjective.brand_id, mevo_configbrandtargetobjective.target_id
  • Worker 0: actual time=0.729..0.871 rows=338 loops=1
  • Worker 1: actual time=0.726..0.867 rows=338 loops=1
36. 0.290 0.290 ↓ 1.0 809 3

Seq Scan on public.mevo_configbrandtargetobjective (cost=0.00..15.02 rows=802 width=13) (actual time=0.011..0.290 rows=809 loops=3)

  • Output: mevo_configbrandtargetobjective.id, mevo_configbrandtargetobjective.active, mevo_configbrandtargetobjective.brand_id, mevo_configbrandtargetobjective.campaign_id, mevo_configbrandtargetobjective.objective_id, mevo_configbrandtargetobjective.target_id, mevo_configbrandtargetobjective."primary
  • Worker 0: actual time=0.018..0.292 rows=809 loops=1
  • Worker 1: actual time=0.011..0.300 rows=809 loops=1
37. 0.242 0.462 ↓ 1.0 555 3

Hash (cost=13.49..13.49 rows=549 width=18) (actual time=0.462..0.462 rows=555 loops=3)

  • Output: brand.name, brand.id
  • Buckets: 1024 Batches: 1 Memory Usage: 36kB
  • Worker 0: actual time=0.468..0.468 rows=555 loops=1
  • Worker 1: actual time=0.467..0.467 rows=555 loops=1
38. 0.220 0.220 ↓ 1.0 555 3

Seq Scan on public.mdm_brand brand (cost=0.00..13.49 rows=549 width=18) (actual time=0.006..0.220 rows=555 loops=3)

  • Output: brand.name, brand.id
  • Worker 0: actual time=0.008..0.220 rows=555 loops=1
  • Worker 1: actual time=0.007..0.231 rows=555 loops=1
39. 0.002 0.002 ↑ 1.0 1 300,979

Index Scan using mdm_media_pkey on public.mdm_media rollup (cost=0.43..0.66 rows=1 width=91) (actual time=0.002..0.002 rows=1 loops=300,979)

  • Output: rollup.id, rollup.name
  • Index Cond: (rollup.id = mdm_media.parent_id)
  • Worker 0: actual time=0.002..0.002 rows=1 loops=101462
  • Worker 1: actual time=0.002..0.002 rows=1 loops=98772
40. 0.203 1.130 ↓ 1.0 479 3

Hash (cost=35.47..35.47 rows=476 width=18) (actual time=1.130..1.130 rows=479 loops=3)

  • Output: opt_target.rif_target_id, opt_target.id, opt_rif.short_name
  • Buckets: 1024 Batches: 1 Memory Usage: 32kB
  • Worker 0: actual time=1.137..1.137 rows=479 loops=1
  • Worker 1: actual time=1.145..1.145 rows=479 loops=1
41. 0.370 0.927 ↓ 1.0 479 3

Hash Left Join (cost=17.71..35.47 rows=476 width=18) (actual time=0.404..0.927 rows=479 loops=3)

  • Output: opt_target.rif_target_id, opt_target.id, opt_rif.short_name
  • Inner Unique: true
  • Hash Cond: (opt_target.rif_target_id = opt_rif.id)
  • Worker 0: actual time=0.409..0.937 rows=479 loops=1
  • Worker 1: actual time=0.406..0.943 rows=479 loops=1
42. 0.164 0.164 ↓ 1.0 479 3

Seq Scan on public.mdm_target opt_target (cost=0.00..11.76 rows=476 width=8) (actual time=0.006..0.164 rows=479 loops=3)

  • Output: opt_target.id, opt_target.name, opt_target.description, opt_target.created_at, opt_target.updated_at, opt_target.short_name, opt_target.rif_target_id, opt_target.code
  • Worker 0: actual time=0.008..0.167 rows=479 loops=1
  • Worker 1: actual time=0.007..0.169 rows=479 loops=1
43. 0.197 0.393 ↓ 1.0 479 3

Hash (cost=11.76..11.76 rows=476 width=14) (actual time=0.393..0.393 rows=479 loops=3)

  • Output: opt_rif.short_name, opt_rif.id
  • Buckets: 1024 Batches: 1 Memory Usage: 31kB
  • Worker 0: actual time=0.396..0.396 rows=479 loops=1
  • Worker 1: actual time=0.393..0.393 rows=479 loops=1
44. 0.196 0.196 ↓ 1.0 479 3

Seq Scan on public.mdm_target opt_rif (cost=0.00..11.76 rows=476 width=14) (actual time=0.003..0.196 rows=479 loops=3)

  • Output: opt_rif.short_name, opt_rif.id
  • Worker 0: actual time=0.003..0.201 rows=479 loops=1
  • Worker 1: actual time=0.003..0.197 rows=479 loops=1
45. 0.187 1.060 ↓ 1.0 479 3

Hash (cost=35.47..35.47 rows=476 width=18) (actual time=1.060..1.060 rows=479 loops=3)

  • Output: base_target.rif_target_id, base_target.id, base_rif.short_name
  • Buckets: 1024 Batches: 1 Memory Usage: 32kB
  • Worker 0: actual time=1.045..1.045 rows=479 loops=1
  • Worker 1: actual time=1.035..1.035 rows=479 loops=1
46. 0.349 0.873 ↓ 1.0 479 3

Hash Left Join (cost=17.71..35.47 rows=476 width=18) (actual time=0.383..0.873 rows=479 loops=3)

  • Output: base_target.rif_target_id, base_target.id, base_rif.short_name
  • Inner Unique: true
  • Hash Cond: (base_target.rif_target_id = base_rif.id)
  • Worker 0: actual time=0.380..0.867 rows=479 loops=1
  • Worker 1: actual time=0.374..0.849 rows=479 loops=1
47. 0.148 0.148 ↓ 1.0 479 3

Seq Scan on public.mdm_target base_target (cost=0.00..11.76 rows=476 width=8) (actual time=0.002..0.148 rows=479 loops=3)

  • Output: base_target.id, base_target.name, base_target.description, base_target.created_at, base_target.updated_at, base_target.short_name, base_target.rif_target_id, base_target.code
  • Worker 0: actual time=0.002..0.145 rows=479 loops=1
  • Worker 1: actual time=0.002..0.146 rows=479 loops=1
48. 0.190 0.376 ↓ 1.0 479 3

Hash (cost=11.76..11.76 rows=476 width=14) (actual time=0.376..0.376 rows=479 loops=3)

  • Output: base_rif.short_name, base_rif.id
  • Buckets: 1024 Batches: 1 Memory Usage: 31kB
  • Worker 0: actual time=0.373..0.373 rows=479 loops=1
  • Worker 1: actual time=0.367..0.367 rows=479 loops=1
49. 0.186 0.186 ↓ 1.0 479 3

Seq Scan on public.mdm_target base_rif (cost=0.00..11.76 rows=476 width=14) (actual time=0.002..0.186 rows=479 loops=3)

  • Output: base_rif.short_name, base_rif.id
  • Worker 0: actual time=0.002..0.183 rows=479 loops=1
  • Worker 1: actual time=0.002..0.183 rows=479 loops=1
50. 1.088 2.106 ↓ 1.0 2,651 3

Hash (cost=54.47..54.47 rows=2,647 width=21) (actual time=2.106..2.106 rows=2,651 loops=3)

  • Output: mdm_mediagroup.name, mdm_mediagroup.id
  • Buckets: 4096 Batches: 1 Memory Usage: 176kB
  • Worker 0: actual time=2.123..2.123 rows=2651 loops=1
  • Worker 1: actual time=2.136..2.136 rows=2651 loops=1
51. 1.018 1.018 ↓ 1.0 2,651 3

Seq Scan on public.mdm_mediagroup (cost=0.00..54.47 rows=2,647 width=21) (actual time=0.008..1.018 rows=2,651 loops=3)

  • Output: mdm_mediagroup.name, mdm_mediagroup.id
  • Worker 0: actual time=0.012..1.045 rows=2651 loops=1
  • Worker 1: actual time=0.009..1.032 rows=2651 loops=1
52. 386.225 1,374.822 ↓ 1.2 710,906 3

Materialize (cost=96,143.22..99,208.18 rows=612,991 width=16) (actual time=757.964..1,374.822 rows=710,906 loops=3)

  • Output: base_media_rfi.r1, base_media_rfi.target_id, base_media_rfi.media_id
  • Worker 0: actual time=768.525..1382.280 rows=712019 loops=1
  • Worker 1: actual time=748.709..1361.820 rows=709389 loops=1
53. 674.978 988.597 ↓ 1.0 614,711 3

Sort (cost=96,143.22..97,675.70 rows=612,991 width=16) (actual time=757.957..988.597 rows=614,711 loops=3)

  • Output: base_media_rfi.r1, base_media_rfi.target_id, base_media_rfi.media_id
  • Sort Key: base_media_rfi.media_id, base_media_rfi.target_id
  • Sort Method: external merge Disk: 15808kB
  • Worker 0: actual time=768.518..998.349 rows=614698 loops=1
  • Worker 1: actual time=748.699..978.847 rows=614714 loops=1
54. 313.619 313.619 ↓ 1.0 620,180 3

Seq Scan on public.mdm_media_rfi base_media_rfi (cost=0.00..26,738.91 rows=612,991 width=16) (actual time=0.019..313.619 rows=620,180 loops=3)

  • Output: base_media_rfi.r1, base_media_rfi.target_id, base_media_rfi.media_id
  • Worker 0: actual time=0.025..318.262 rows=620180 loops=1
  • Worker 1: actual time=0.025..308.414 rows=620180 loops=1
55. 475.784 475.784 ↓ 1.3 811,994 3

Index Scan using mdm_mediarfi_35bf24f6 on public.mdm_media_rfi opt_media_rfi (cost=0.42..51,816.25 rows=612,991 width=16) (actual time=0.018..475.784 rows=811,994 loops=3)

  • Output: opt_media_rfi.id, opt_media_rfi.r1, opt_media_rfi.r2, opt_media_rfi.r3, opt_media_rfi.r4, opt_media_rfi.r5, opt_media_rfi.r6, opt_media_rfi.r7, opt_media_rfi.r8, opt_media_rfi.f1, opt_media_rfi.f2, opt_media_rfi.f3, opt_media_rfi.f4, opt_media_rfi.f5, opt_media_rfi.f6, opt_media_rfi.f7, opt_media_rfi.f8, opt_media_rfi.i1, opt_media_rfi.i2, opt_media_rfi.i3, opt_media_rfi.i4, opt_media_rfi.i5, opt_media_rfi.i6, opt_media_rfi.i7, opt_media_rfi.i8, opt_media_rfi.created_at, opt_media_rfi.updated_at, opt_media_rfi.media_id, opt_media_rfi.target_id, opt_media_rfi.file_id
  • Worker 0: actual time=0.018..461.108 rows=813928 loops=1
  • Worker 1: actual time=0.020..481.255 rows=809628 loops=1
56. 46.922 57.287 ↓ 4.0 118,182 3

Sort (cost=2,754.45..2,828.34 rows=29,558 width=16) (actual time=27.494..57.287 rows=118,182 loops=3)

  • Output: media_opt_pop.population, media_opt_pop.target_id, media_opt_pop.geography_id
  • Sort Key: media_opt_pop.target_id, media_opt_pop.geography_id
  • Sort Method: quicksort Memory: 2154kB
  • Worker 0: actual time=26.938..55.959 rows=119318 loops=1
  • Worker 1: actual time=28.040..58.525 rows=116628 loops=1
57. 10.365 10.365 ↑ 1.0 29,558 3

Seq Scan on public.mdm_targetpopulation media_opt_pop (cost=0.00..559.58 rows=29,558 width=16) (actual time=0.008..10.365 rows=29,558 loops=3)

  • Output: media_opt_pop.population, media_opt_pop.target_id, media_opt_pop.geography_id
  • Worker 0: actual time=0.007..10.042 rows=29558 loops=1
  • Worker 1: actual time=0.009..10.677 rows=29558 loops=1
58. 25.686 25.825 ↓ 545.9 100,440 3

Sort (cost=266.86..267.32 rows=184 width=12) (actual time=0.220..25.825 rows=100,440 loops=3)

  • Output: mdm_targetpopulation.population, mdm_targetpopulation.target_id
  • Sort Key: mdm_targetpopulation.target_id
  • Sort Method: quicksort Memory: 33kB
  • Worker 0: actual time=0.218..25.557 rows=101576 loops=1
  • Worker 1: actual time=0.232..26.091 rows=98886 loops=1
59. 0.118 0.139 ↑ 1.0 184 3

Bitmap Heap Scan on public.mdm_targetpopulation (cost=5.71..259.94 rows=184 width=12) (actual time=0.035..0.139 rows=184 loops=3)

  • Output: mdm_targetpopulation.population, mdm_targetpopulation.target_id
  • Recheck Cond: (mdm_targetpopulation.geography_id = 1)
  • Heap Blocks: exact=72
  • Worker 0: actual time=0.035..0.136 rows=184 loops=1
  • Worker 1: actual time=0.038..0.150 rows=184 loops=1
60. 0.021 0.021 ↑ 1.0 184 3

Bitmap Index Scan on mdm_targetpopulation_bba4d9cf (cost=0.00..5.67 rows=184 width=0) (actual time=0.021..0.021 rows=184 loops=3)

  • Index Cond: (mdm_targetpopulation.geography_id = 1)
  • Worker 0: actual time=0.020..0.020 rows=184 loops=1
  • Worker 1: actual time=0.023..0.023 rows=184 loops=1
61. 44.731 54.450 ↓ 3.5 103,779 3

Sort (cost=2,754.45..2,828.34 rows=29,558 width=16) (actual time=26.038..54.450 rows=103,779 loops=3)

  • Output: media_base_pop.population, media_base_pop.target_id, media_base_pop.geography_id
  • Sort Key: media_base_pop.target_id, media_base_pop.geography_id
  • Sort Method: quicksort Memory: 2154kB
  • Worker 0: actual time=25.607..55.487 rows=104919 loops=1
  • Worker 1: actual time=26.921..58.870 rows=102213 loops=1
62. 9.719 9.719 ↑ 1.0 29,558 3

Seq Scan on public.mdm_targetpopulation media_base_pop (cost=0.00..559.58 rows=29,558 width=16) (actual time=0.011..9.719 rows=29,558 loops=3)

  • Output: media_base_pop.population, media_base_pop.target_id, media_base_pop.geography_id
  • Worker 0: actual time=0.009..9.445 rows=29558 loops=1
  • Worker 1: actual time=0.013..10.171 rows=29558 loops=1
63. 0.000 0.000 ↑ 1.0 1 300,979

Materialize (cost=0.27..8.30 rows=1 width=4) (actual time=0.000..0.000 rows=1 loops=300,979)

  • Output: a18_target.rif_target_id
64. 0.017 0.017 ↑ 1.0 1 1

Index Scan using mdm_target_pkey on public.mdm_target a18_target (cost=0.27..8.29 rows=1 width=4) (actual time=0.014..0.017 rows=1 loops=1)

  • Output: a18_target.rif_target_id
  • Index Cond: (a18_target.id = 1)
65. 220.771 478.471 ↓ 1.0 620,180 1

Hash (cost=26,738.91..26,738.91 rows=612,991 width=16) (actual time=478.471..478.471 rows=620,180 loops=1)

  • Output: a18_media_rfi.r1, a18_media_rfi.target_id, a18_media_rfi.media_id
  • Buckets: 131072 Batches: 16 Memory Usage: 2847kB
66. 257.700 257.700 ↓ 1.0 620,180 1

Seq Scan on public.mdm_media_rfi a18_media_rfi (cost=0.00..26,738.91 rows=612,991 width=16) (actual time=0.005..257.700 rows=620,180 loops=1)

  • Output: a18_media_rfi.r1, a18_media_rfi.target_id, a18_media_rfi.media_id