explain.depesz.com

PostgreSQL's explain analyze made readable

Result: RB8V

Settings
# exclusive inclusive rows x rows loops node
1. 20.827 5,675.053 ↓ 25.8 6,617 1

Nested Loop Left Join (cost=396,113.60..409,111.78 rows=256 width=608) (actual time=4,832.826..5,675.053 rows=6,617 loops=1)

2. 5.629 5,601.290 ↓ 25.8 6,617 1

Hash Left Join (cost=396,113.03..406,185.66 rows=256 width=520) (actual time=4,832.785..5,601.290 rows=6,617 loops=1)

  • Hash Cond: (own_ent_funds.fund_type = fund_type_map.fund_type_code)
3. 5.309 5,595.643 ↓ 25.8 6,617 1

Hash Left Join (cost=396,111.61..406,180.71 rows=256 width=456) (actual time=4,832.761..5,595.643 rows=6,617 loops=1)

  • Hash Cond: (ent_entity_metro_areas.metro_id = metro_map.metro_code)
4. 11.191 5,590.220 ↓ 25.8 6,617 1

Nested Loop Left Join (cost=396,105.44..406,171.03 rows=256 width=440) (actual time=4,832.639..5,590.220 rows=6,617 loops=1)

5. 5.473 5,526.093 ↓ 25.8 6,617 1

Hash Left Join (cost=396,105.01..406,050.03 rows=256 width=445) (actual time=4,832.622..5,526.093 rows=6,617 loops=1)

  • Hash Cond: (country_map.region_code = region_map.region_code)
6. 5.955 5,520.610 ↓ 25.8 6,617 1

Hash Left Join (cost=396,103.83..406,045.33 rows=256 width=379) (actual time=4,832.606..5,520.610 rows=6,617 loops=1)

  • Hash Cond: (fund_entity.iso_country = country_map.iso_country)
7. 9.443 5,514.476 ↓ 25.8 6,617 1

Nested Loop Left Join (cost=396,095.76..406,033.74 rows=256 width=367) (actual time=4,832.420..5,514.476 rows=6,617 loops=1)

8. 10.958 5,452.097 ↓ 25.8 6,617 1

Nested Loop Left Join (cost=396,095.34..404,031.82 rows=256 width=326) (actual time=4,832.404..5,452.097 rows=6,617 loops=1)

9. 10.805 5,388.203 ↓ 25.8 6,617 1

Nested Loop Left Join (cost=396,094.91..403,475.14 rows=256 width=307) (actual time=4,832.388..5,388.203 rows=6,617 loops=1)

10. 7.954 5,324.462 ↓ 25.8 6,617 1

Nested Loop Left Join (cost=396,094.48..402,400.69 rows=256 width=276) (actual time=4,832.373..5,324.462 rows=6,617 loops=1)

11. 11.474 5,256.955 ↓ 25.8 6,617 1

Nested Loop Left Join (cost=396,094.05..401,326.24 rows=256 width=239) (actual time=4,832.357..5,256.955 rows=6,617 loops=1)

12. 7.843 5,199.162 ↓ 25.8 6,617 1

Nested Loop Left Join (cost=396,093.63..399,460.96 rows=256 width=223) (actual time=4,832.341..5,199.162 rows=6,617 loops=1)

13. 8.336 5,138.383 ↓ 25.8 6,617 1

Hash Left Join (cost=396,093.21..397,476.48 rows=256 width=192) (actual time=4,832.320..5,138.383 rows=6,617 loops=1)

  • Hash Cond: ((current_factset_fund_holdings.fsym_id = previous_factset_fund_holdings.fsym_id) AND (current_factset_fund_holdings.factset_fund_id = previous_factset_fund_holdings.factset_fund_id))
14.          

CTE factset_fund_holdings

15. 36.667 3,011.360 ↑ 4.0 12,955 1

Subquery Scan on h (cost=188,491.38..194,625.20 rows=51,263 width=46) (actual time=2,525.382..3,011.360 rows=12,955 loops=1)

  • Filter: (h.pos <= 2)
  • Rows Removed by Filter: 64670
16. 147.620 2,974.693 ↑ 2.0 77,625 1

WindowAgg (cost=188,491.38..192,702.85 rows=153,788 width=46) (actual time=2,525.377..2,974.693 rows=77,625 loops=1)

17. 184.481 2,827.073 ↑ 2.0 77,625 1

Merge Left Join (cost=188,491.38..190,011.56 rows=153,788 width=54) (actual time=2,525.368..2,827.073 rows=77,625 loops=1)

  • Merge Cond: ((own_fund_detail.factset_fund_id = adjh.factset_fund_id) AND (q4_fund_dates.report_date = adjh.report_date))
  • Join Filter: (adjh.fsym_id = sar.fsym_id)
18. 304.582 899.551 ↑ 2.0 77,625 1

Sort (cost=114,539.57..114,924.04 rows=153,788 width=46) (actual time=856.267..899.551 rows=77,625 loops=1)

  • Sort Key: own_fund_detail.factset_fund_id, q4_fund_dates.report_date DESC
  • Sort Method: quicksort Memory: 13973kB
19. 48.071 594.969 ↑ 2.0 77,625 1

Nested Loop (cost=77,017.22..101,290.29 rows=153,788 width=46) (actual time=346.509..594.969 rows=77,625 loops=1)

  • Join Filter: (own_fund_detail.factset_fund_id = q4_fund_dates.factset_fund_id)
20. 3.543 439.218 ↑ 1.6 6,730 1

Nested Loop (cost=77,016.79..77,592.30 rows=10,739 width=51) (actual time=346.473..439.218 rows=6,730 loops=1)

21. 0.015 0.015 ↑ 1.0 1 1

Index Only Scan using own_sec_coverage_fsym_id_idx on own_sec_coverage sar (cost=0.42..8.44 rows=1 width=9) (actual time=0.014..0.015 rows=1 loops=1)

  • Index Cond: (fsym_id = 'BHM9TN-S'::bpchar)
  • Heap Fetches: 1
22. 7.832 435.660 ↑ 1.6 6,730 1

Hash Join (cost=77,016.37..77,476.47 rows=10,739 width=51) (actual time=346.456..435.660 rows=6,730 loops=1)

  • Hash Cond: (own_fund_detail.factset_fund_id = ent.factset_fund_id)
23. 40.870 367.089 ↑ 2.4 7,979 1

Unique (cost=72,099.09..72,193.17 rows=18,809 width=54) (actual time=285.567..367.089 rows=7,979 loops=1)

24. 244.430 326.219 ↓ 7.6 143,529 1

Sort (cost=72,099.09..72,146.13 rows=18,816 width=54) (actual time=285.564..326.219 rows=143,529 loops=1)

  • Sort Key: own_fund_detail.factset_fund_id
  • Sort Method: quicksort Memory: 17358kB
25. 65.332 81.789 ↓ 7.6 143,529 1

Bitmap Heap Scan on own_fund_detail (cost=442.39..70,763.18 rows=18,816 width=54) (actual time=18.596..81.789 rows=143,529 loops=1)

  • Recheck Cond: (fsym_id = 'BHM9TN-S'::bpchar)
  • Heap Blocks: exact=13494
26. 16.457 16.457 ↓ 7.7 144,981 1

Bitmap Index Scan on own_fund_detail_fsym_id_report_date_idx (cost=0.00..437.69 rows=18,816 width=0) (actual time=16.457..16.457 rows=144,981 loops=1)

  • Index Cond: (fsym_id = 'BHM9TN-S'::bpchar)
27. 22.078 60.739 ↓ 1.0 68,140 1

Hash (cost=4,065.65..4,065.65 rows=68,131 width=9) (actual time=60.738..60.739 rows=68,140 loops=1)

  • Buckets: 131072 Batches: 1 Memory Usage: 3753kB
28. 38.661 38.661 ↓ 1.0 68,140 1

Seq Scan on own_ent_funds ent (cost=0.00..4,065.65 rows=68,131 width=9) (actual time=0.007..38.661 rows=68,140 loops=1)

  • Filter: (active_flag = 1)
  • Rows Removed by Filter: 51192
29. 107.680 107.680 ↑ 1.2 12 6,730

Index Only Scan using q4_fund_dates_pkey on q4_fund_dates (cost=0.43..2.03 rows=14 width=13) (actual time=0.010..0.016 rows=12 loops=6,730)

  • Index Cond: ((factset_fund_id = ent.factset_fund_id) AND (report_date >= '2017-06-10'::date) AND (report_date <= '2019-06-10'::date))
  • Heap Fetches: 77625
30. 471.685 1,743.041 ↓ 7.6 143,529 1

Sort (cost=73,951.81..73,998.84 rows=18,809 width=30) (actual time=1,669.085..1,743.041 rows=143,529 loops=1)

  • Sort Key: adjh.factset_fund_id, adjh.report_date DESC
  • Sort Method: quicksort Memory: 17358kB
31. 169.647 1,271.356 ↓ 7.6 143,529 1

Subquery Scan on adjh (cost=72,099.09..72,616.46 rows=18,809 width=30) (actual time=807.364..1,271.356 rows=143,529 loops=1)

32. 180.357 1,101.709 ↓ 7.6 143,529 1

Unique (cost=72,099.09..72,428.37 rows=18,809 width=54) (actual time=807.362..1,101.709 rows=143,529 loops=1)

33. 732.881 921.352 ↓ 7.6 143,529 1

Sort (cost=72,099.09..72,146.13 rows=18,816 width=54) (actual time=807.360..921.352 rows=143,529 loops=1)

  • Sort Key: own_fund_detail_1.factset_fund_id, own_fund_detail_1.adj_holding, own_fund_detail_1.report_date, own_fund_detail_1.reported_holding, own_fund_detail_1.adj_mv, own_fund_detail_1.reported_mv
  • Sort Method: quicksort Memory: 26321kB
34. 134.434 188.471 ↓ 7.6 143,529 1

Bitmap Heap Scan on own_fund_detail own_fund_detail_1 (cost=442.39..70,763.18 rows=18,816 width=54) (actual time=56.780..188.471 rows=143,529 loops=1)

  • Recheck Cond: (fsym_id = 'BHM9TN-S'::bpchar)
  • Heap Blocks: exact=13494
35. 54.037 54.037 ↓ 7.7 144,981 1

Bitmap Index Scan on own_fund_detail_fsym_id_report_date_idx (cost=0.00..437.69 rows=18,816 width=0) (actual time=54.037..54.037 rows=144,981 loops=1)

  • Index Cond: (fsym_id = 'BHM9TN-S'::bpchar)
36.          

CTE factset_prev_fund_holdings

37. 23.050 2,074.800 ↑ 4.6 12,961 1

Subquery Scan on p (cost=192,010.70..199,153.50 rows=59,750 width=46) (actual time=1,794.062..2,074.800 rows=12,961 loops=1)

  • Filter: (p.pos <= 2)
  • Rows Removed by Filter: 70970
38. 87.312 2,051.750 ↑ 2.1 83,931 1

WindowAgg (cost=192,010.70..196,912.87 rows=179,250 width=46) (actual time=1,794.059..2,051.750 rows=83,931 loops=1)

39. 102.557 1,964.438 ↑ 2.1 83,931 1

Merge Left Join (cost=192,010.70..193,776.00 rows=179,250 width=54) (actual time=1,794.051..1,964.438 rows=83,931 loops=1)

  • Merge Cond: ((own_fund_detail_2.factset_fund_id = adjh_1.factset_fund_id) AND (q4_fund_dates_1.report_date = adjh_1.report_date))
  • Join Filter: (adjh_1.fsym_id = sar_1.fsym_id)
40. 163.286 974.582 ↑ 2.1 83,931 1

Sort (cost=118,058.89..118,507.01 rows=179,250 width=46) (actual time=945.863..974.582 rows=83,931 loops=1)

  • Sort Key: own_fund_detail_2.factset_fund_id, q4_fund_dates_1.report_date DESC
  • Sort Method: quicksort Memory: 14867kB
41. 46.188 811.296 ↑ 2.1 83,931 1

Nested Loop (cost=77,017.22..102,417.88 rows=179,250 width=46) (actual time=595.344..811.296 rows=83,931 loops=1)

  • Join Filter: (own_fund_detail_2.factset_fund_id = q4_fund_dates_1.factset_fund_id)
42. 3.002 677.618 ↑ 1.6 6,730 1

Nested Loop (cost=77,016.79..77,592.30 rows=10,739 width=51) (actual time=595.314..677.618 rows=6,730 loops=1)

43. 0.024 0.024 ↑ 1.0 1 1

Index Only Scan using own_sec_coverage_fsym_id_idx on own_sec_coverage sar_1 (cost=0.42..8.44 rows=1 width=9) (actual time=0.022..0.024 rows=1 loops=1)

  • Index Cond: (fsym_id = 'BHM9TN-S'::bpchar)
  • Heap Fetches: 1
44. 6.701 674.592 ↑ 1.6 6,730 1

Hash Join (cost=77,016.37..77,476.47 rows=10,739 width=51) (actual time=595.290..674.592 rows=6,730 loops=1)

  • Hash Cond: (own_fund_detail_2.factset_fund_id = ent_1.factset_fund_id)
45. 36.407 549.545 ↑ 2.4 7,979 1

Unique (cost=72,099.09..72,193.17 rows=18,809 width=54) (actual time=476.784..549.545 rows=7,979 loops=1)

46. 370.081 513.138 ↓ 7.6 143,529 1

Sort (cost=72,099.09..72,146.13 rows=18,816 width=54) (actual time=476.781..513.138 rows=143,529 loops=1)

  • Sort Key: own_fund_detail_2.factset_fund_id
  • Sort Method: quicksort Memory: 17358kB
47. 114.469 143.057 ↓ 7.6 143,529 1

Bitmap Heap Scan on own_fund_detail own_fund_detail_2 (cost=442.39..70,763.18 rows=18,816 width=54) (actual time=31.524..143.057 rows=143,529 loops=1)

  • Recheck Cond: (fsym_id = 'BHM9TN-S'::bpchar)
  • Heap Blocks: exact=13494
48. 28.588 28.588 ↓ 7.7 144,981 1

Bitmap Index Scan on own_fund_detail_fsym_id_report_date_idx (cost=0.00..437.69 rows=18,816 width=0) (actual time=28.588..28.588 rows=144,981 loops=1)

  • Index Cond: (fsym_id = 'BHM9TN-S'::bpchar)
49. 40.774 118.346 ↓ 1.0 68,140 1

Hash (cost=4,065.65..4,065.65 rows=68,131 width=9) (actual time=118.346..118.346 rows=68,140 loops=1)

  • Buckets: 131072 Batches: 1 Memory Usage: 3753kB
50. 77.572 77.572 ↓ 1.0 68,140 1

Seq Scan on own_ent_funds ent_1 (cost=0.00..4,065.65 rows=68,131 width=9) (actual time=0.014..77.572 rows=68,140 loops=1)

  • Filter: (active_flag = 1)
  • Rows Removed by Filter: 51192
51. 87.490 87.490 ↑ 1.4 12 6,730

Index Only Scan using q4_fund_dates_pkey on q4_fund_dates q4_fund_dates_1 (cost=0.43..2.10 rows=17 width=13) (actual time=0.009..0.013 rows=12 loops=6,730)

  • Index Cond: ((factset_fund_id = ent_1.factset_fund_id) AND (report_date >= '2016-12-31'::date) AND (report_date <= '2018-12-31'::date))
  • Heap Fetches: 83931
52. 281.069 887.299 ↓ 7.6 143,529 1

Sort (cost=73,951.81..73,998.84 rows=18,809 width=30) (actual time=848.172..887.299 rows=143,529 loops=1)

  • Sort Key: adjh_1.factset_fund_id, adjh_1.report_date DESC
  • Sort Method: quicksort Memory: 17358kB
53. 65.324 606.230 ↓ 7.6 143,529 1

Subquery Scan on adjh_1 (cost=72,099.09..72,616.46 rows=18,809 width=30) (actual time=423.568..606.230 rows=143,529 loops=1)

54. 77.574 540.906 ↓ 7.6 143,529 1

Unique (cost=72,099.09..72,428.37 rows=18,809 width=54) (actual time=423.565..540.906 rows=143,529 loops=1)

55. 374.569 463.332 ↓ 7.6 143,529 1

Sort (cost=72,099.09..72,146.13 rows=18,816 width=54) (actual time=423.564..463.332 rows=143,529 loops=1)

  • Sort Key: own_fund_detail_3.factset_fund_id, own_fund_detail_3.adj_holding, own_fund_detail_3.report_date, own_fund_detail_3.reported_holding, own_fund_detail_3.adj_mv, own_fund_detail_3.reported_mv
  • Sort Method: quicksort Memory: 26321kB
56. 72.140 88.763 ↓ 7.6 143,529 1

Bitmap Heap Scan on own_fund_detail own_fund_detail_3 (cost=442.39..70,763.18 rows=18,816 width=54) (actual time=18.730..88.763 rows=143,529 loops=1)

  • Recheck Cond: (fsym_id = 'BHM9TN-S'::bpchar)
  • Heap Blocks: exact=13494
57. 16.623 16.623 ↓ 7.7 144,981 1

Bitmap Index Scan on own_fund_detail_fsym_id_report_date_idx (cost=0.00..437.69 rows=18,816 width=0) (actual time=16.623..16.623 rows=144,981 loops=1)

  • Index Cond: (fsym_id = 'BHM9TN-S'::bpchar)
58. 7.428 5,124.634 ↓ 25.8 6,617 1

Hash Right Join (cost=1,157.26..2,522.58 rows=256 width=108) (actual time=4,826.893..5,124.634 rows=6,617 loops=1)

  • Hash Cond: ((factset_prev_fund_holdings.factset_fund_id = current_factset_fund_holdings.factset_fund_id) AND (factset_prev_fund_holdings.fsym_id = current_factset_fund_holdings.fsym_id))
59. 2,084.391 2,084.391 ↓ 21.9 6,562 1

CTE Scan on factset_prev_fund_holdings (cost=0.00..1,344.38 rows=299 width=88) (actual time=1,794.066..2,084.391 rows=6,562 loops=1)

  • Filter: (pos = 1)
  • Rows Removed by Filter: 6399
60. 5.380 3,032.815 ↓ 25.8 6,617 1

Hash (cost=1,153.42..1,153.42 rows=256 width=92) (actual time=3,032.815..3,032.815 rows=6,617 loops=1)

  • Buckets: 8192 (originally 1024) Batches: 1 (originally 1) Memory Usage: 530kB
61. 3,027.435 3,027.435 ↓ 25.8 6,617 1

CTE Scan on factset_fund_holdings current_factset_fund_holdings (cost=0.00..1,153.42 rows=256 width=92) (actual time=2,525.404..3,027.435 rows=6,617 loops=1)

  • Filter: (pos = 1)
  • Rows Removed by Filter: 6338
62. 2.277 5.413 ↓ 24.8 6,338 1

Hash (cost=1,153.42..1,153.42 rows=256 width=92) (actual time=5.412..5.413 rows=6,338 loops=1)

  • Buckets: 8192 (originally 1024) Batches: 1 (originally 1) Memory Usage: 523kB
63. 3.136 3.136 ↓ 24.8 6,338 1

CTE Scan on factset_fund_holdings previous_factset_fund_holdings (cost=0.00..1,153.42 rows=256 width=92) (actual time=0.004..3.136 rows=6,338 loops=1)

  • Filter: (pos = 2)
  • Rows Removed by Filter: 6617
64. 52.936 52.936 ↑ 1.0 1 6,617

Index Scan using own_ent_funds_pkey on own_ent_funds (cost=0.42..7.73 rows=1 width=31) (actual time=0.008..0.008 rows=1 loops=6,617)

  • Index Cond: (current_factset_fund_holdings.factset_fund_id = factset_fund_id)
65. 46.319 46.319 ↑ 1.0 1 6,617

Index Scan using q4_fund_values_pkey on q4_fund_values (cost=0.41..7.28 rows=1 width=26) (actual time=0.007..0.007 rows=1 loops=6,617)

  • Index Cond: (factset_fund_id = current_factset_fund_holdings.factset_fund_id)
66. 59.553 59.553 ↑ 1.0 1 6,617

Index Scan using sym_entity_pkey on sym_entity inst_entity (cost=0.43..4.19 rows=1 width=37) (actual time=0.009..0.009 rows=1 loops=6,617)

  • Index Cond: (factset_entity_id = own_ent_funds.factset_inst_entity_id)
67. 52.936 52.936 ↑ 1.0 1 6,617

Index Scan using sym_entity_pkey on sym_entity fund_entity (cost=0.43..4.19 rows=1 width=40) (actual time=0.008..0.008 rows=1 loops=6,617)

  • Index Cond: (factset_entity_id = own_ent_funds.factset_fund_id)
68. 52.936 52.936 ↑ 1.0 1 6,617

Index Scan using h_entity_pkey on h_entity (cost=0.43..2.16 rows=1 width=37) (actual time=0.008..0.008 rows=1 loops=6,617)

  • Index Cond: (factset_entity_id = own_ent_funds.factset_fund_id)
69. 52.936 52.936 ↑ 1.0 1 6,617

Index Scan using cyclops_fund_overwrites_pkey on cyclops_fund_overwrites cyclops (cost=0.42..7.81 rows=1 width=51) (actual time=0.008..0.008 rows=1 loops=6,617)

  • Index Cond: (factset_fund_id = current_factset_fund_holdings.factset_fund_id)
70. 0.099 0.179 ↑ 1.0 270 1

Hash (cost=4.70..4.70 rows=270 width=15) (actual time=0.179..0.179 rows=270 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 21kB
71. 0.080 0.080 ↑ 1.0 270 1

Seq Scan on country_map (cost=0.00..4.70 rows=270 width=15) (actual time=0.006..0.080 rows=270 loops=1)

72. 0.004 0.010 ↑ 1.0 8 1

Hash (cost=1.08..1.08 rows=8 width=76) (actual time=0.010..0.010 rows=8 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
73. 0.006 0.006 ↑ 1.0 8 1

Seq Scan on region_map (cost=0.00..1.08 rows=8 width=76) (actual time=0.003..0.006 rows=8 loops=1)

74. 52.936 52.936 ↑ 1.0 1 6,617

Index Scan using ent_entity_metro_areas_pkey on ent_entity_metro_areas (cost=0.43..0.46 rows=1 width=13) (actual time=0.008..0.008 rows=1 loops=6,617)

  • Index Cond: (factset_entity_id = inst_entity.factset_entity_id)
75. 0.056 0.114 ↑ 1.0 185 1

Hash (cost=3.85..3.85 rows=185 width=24) (actual time=0.114..0.114 rows=185 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 19kB
76. 0.058 0.058 ↑ 1.0 185 1

Seq Scan on metro_map (cost=0.00..3.85 rows=185 width=24) (actual time=0.003..0.058 rows=185 loops=1)

77. 0.008 0.018 ↑ 1.0 19 1

Hash (cost=1.19..1.19 rows=19 width=84) (actual time=0.018..0.018 rows=19 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
78. 0.010 0.010 ↑ 1.0 19 1

Seq Scan on fund_type_map (cost=0.00..1.19 rows=19 width=84) (actual time=0.003..0.010 rows=19 loops=1)

79. 52.936 52.936 ↑ 2.0 1 6,617

Index Scan using own_sec_prices_pkey on own_sec_prices prices (cost=0.57..11.38 rows=2 width=45) (actual time=0.007..0.008 rows=1 loops=6,617)

  • Index Cond: ((fsym_id = current_factset_fund_holdings.fsym_id) AND (price_date = (date_trunc('month'::text, (current_factset_fund_holdings.report_date)::timestamp with time zone) - '1 day'::interval)))
Planning time : 4.248 ms
Execution time : 5,678.836 ms