explain.depesz.com

PostgreSQL's explain analyze made readable

Result: wWQ6 : New query octa

Settings
# exclusive inclusive rows x rows loops node
1. 428.394 70,352.395 ↓ 1.0 465,551 1

Hash Right Join (cost=4,169,743.46..4,761,962.86 rows=462,557 width=4) (actual time=57,310.121..70,352.395 rows=465,551 loops=1)

  • Hash Cond: (instal.contractid = co.contractid)
2. 5,055.105 37,186.372 ↑ 1.0 424,844 1

Hash Right Join (cost=906,639.84..1,487,890.64 rows=424,844 width=4) (actual time=24,335.107..37,186.372 rows=424,844 loops=1)

  • Hash Cond: (lastinstal_template_cr.finalinvoiceid = lastinstal_i.invoiceid)
3. 8,091.536 8,091.536 ↑ 1.0 8,996,335 1

Seq Scan on invoicerelation lastinstal_template_cr (cost=0.00..472,350.88 rows=9,045,208 width=8) (actual time=1.364..8,091.536 rows=8,996,335 loops=1)

  • Filter: ((nature)::text = 'TEMPLATED'::text)
  • Rows Removed by Filter: 12,429,595
4. 158.292 24,039.731 ↑ 1.0 424,844 1

Hash (cost=899,669.29..899,669.29 rows=424,844 width=8) (actual time=24,039.731..24,039.731 rows=424,844 loops=1)

  • Buckets: 131,072 Batches: 8 Memory Usage: 3,099kB
5. 6,331.276 23,881.439 ↑ 1.0 424,844 1

Hash Right Join (cost=418,967.51..899,669.29 rows=424,844 width=8) (actual time=11,413.392..23,881.439 rows=424,844 loops=1)

  • Hash Cond: (lastinstal_id.invoiceid = lastinstal_i.invoiceid)
6. 6,139.668 6,139.668 ↑ 1.0 13,104,947 1

Seq Scan on invdoc lastinstal_id (cost=0.00..323,668.47 rows=13,104,947 width=4) (actual time=0.032..6,139.668 rows=13,104,947 loops=1)

7. 209.852 11,410.495 ↑ 1.0 424,844 1

Hash (cost=411,996.96..411,996.96 rows=424,844 width=8) (actual time=11,410.495..11,410.495 rows=424,844 loops=1)

  • Buckets: 131,072 Batches: 8 Memory Usage: 3,099kB
8. 2,048.064 11,200.643 ↑ 1.0 424,844 1

Merge Left Join (cost=49,164.51..411,996.96 rows=424,844 width=8) (actual time=323.852..11,200.643 rows=424,844 loops=1)

  • Merge Cond: (instal.invoiceid = lastinstal_i.invoiceid)
9. 331.798 452.466 ↑ 1.0 424,844 1

Sort (cost=49,164.08..50,226.19 rows=424,844 width=8) (actual time=323.000..452.466 rows=424,844 loops=1)

  • Sort Key: instal.invoiceid
  • Sort Method: external merge Disk: 7,528kB
10. 120.668 120.668 ↑ 1.0 424,844 1

Seq Scan on instal (cost=0.00..6,128.44 rows=424,844 width=8) (actual time=0.222..120.668 rows=424,844 loops=1)

11. 8,700.113 8,700.113 ↓ 1.0 14,567,091 1

Index Only Scan using invoice_pkey on invoice lastinstal_i (cost=0.43..320,267.40 rows=14,477,131 width=4) (actual time=0.104..8,700.113 rows=14,567,091 loops=1)

  • Heap Fetches: 90,101
12. 152.368 32,737.629 ↓ 1.0 465,551 1

Hash (cost=3,255,514.65..3,255,514.65 rows=462,557 width=4) (actual time=32,737.629..32,737.629 rows=465,551 loops=1)

  • Buckets: 131,072 Batches: 8 Memory Usage: 3,073kB
13. 510.073 32,585.261 ↓ 1.0 465,551 1

Hash Right Join (cost=3,240,092.69..3,255,514.65 rows=462,557 width=4) (actual time=31,951.767..32,585.261 rows=465,551 loops=1)

  • Hash Cond: (instaltemplate.contractid = co.contractid)
14. 124.186 124.186 ↑ 1.0 378,314 1

Seq Scan on instaltemplate (cost=0.00..5,457.14 rows=378,314 width=8) (actual time=0.200..124.186 rows=378,314 loops=1)

15. 200.799 31,951.002 ↓ 1.0 465,551 1

Hash (cost=3,232,503.73..3,232,503.73 rows=462,557 width=4) (actual time=31,951.002..31,951.002 rows=465,551 loops=1)

  • Buckets: 131,072 Batches: 8 Memory Usage: 3,073kB
16. 457.707 31,750.203 ↓ 1.0 465,551 1

Merge Left Join (cost=3,045,432.80..3,232,503.73 rows=462,557 width=4) (actual time=25,525.273..31,750.203 rows=465,551 loops=1)

  • Merge Cond: (dp.deliverypointid = gc_usr.deliverypointid)
  • Join Filter: (((cdp.todate IS NULL) AND (gc_usr.todate IS NULL)) OR ((cdp.fromdate = gc_usr.fromdate) AND (cdp.todate = gc_usr.todate)) OR ((cdp.todate IS NOT NULL) AND (gc_usr.fromdate < cdp.todate) AND ((gc_usr.todate IS NULL) O (...)
  • Rows Removed by Join Filter: 772,466
17. 456.750 29,705.439 ↓ 1.0 463,265 1

Merge Left Join (cost=3,045,432.37..3,164,114.35 rows=462,557 width=35) (actual time=25,525.240..29,705.439 rows=463,265 loops=1)

  • Merge Cond: (dp.deliverypointid = pc_dgo.deliverypointid)
  • Join Filter: (((cdp.todate IS NULL) AND (pc_dgo.todate IS NULL)) OR ((cdp.todate IS NOT NULL) AND (pc_dgo.fromdate < cdp.todate) AND ((pc_dgo.todate IS NULL) OR (pc_dgo.todate >= cdp.todate))))
  • Rows Removed by Join Filter: 524,154
18. 494.302 28,018.437 ↓ 1.0 463,265 1

Merge Left Join (cost=3,045,431.95..3,119,664.51 rows=462,557 width=35) (actual time=25,525.010..28,018.437 rows=463,265 loops=1)

  • Merge Cond: (dp.deliverypointid = gc_dgo.deliverypointid)
  • Join Filter: (((cdp.todate IS NULL) AND (gc_dgo.todate IS NULL)) OR ((cdp.todate IS NOT NULL) AND (gc_dgo.fromdate < cdp.todate) AND ((gc_dgo.todate IS NULL) OR (gc_dgo.todate >= cdp.todate))))
  • Rows Removed by Join Filter: 524,659
19. 130.968 25,812.754 ↓ 1.0 463,265 1

Merge Left Join (cost=3,045,431.52..3,047,744.33 rows=462,557 width=16) (actual time=25,524.909..25,812.754 rows=463,265 loops=1)

  • Merge Cond: (dp.deliverypointid = lc_usr.deliverypointid)
  • Join Filter: (((cdp.todate IS NULL) AND (lc_usr.todate IS NULL)) OR ((lc_usr.fromdate = cdp.fromdate) AND (lc_usr.todate = cdp.todate)) OR ((cdp.todate IS NOT NULL) AND (lc_usr.fromdate < cdp.todate) AND ((lc_usr (...)
  • Rows Removed by Join Filter: 2
20. 416.181 25,680.005 ↓ 1.0 463,265 1

Sort (cost=3,045,430.06..3,046,586.46 rows=462,557 width=16) (actual time=25,523.124..25,680.005 rows=463,265 loops=1)

  • Sort Key: dp.deliverypointid
  • Sort Method: external merge Disk: 11,344kB
21. 711.981 25,263.824 ↓ 1.0 463,265 1

Hash Right Join (cost=2,941,749.57..2,997,387.13 rows=462,557 width=16) (actual time=23,731.285..25,263.824 rows=463,265 loops=1)

  • Hash Cond: (lc_dgo.deliverypointid = dp.deliverypointid)
  • Join Filter: (((cdp.todate IS NULL) AND (lc_dgo.todate IS NULL)) OR ((cdp.todate IS NOT NULL) AND (lc_dgo.fromdate < cdp.todate) AND ((lc_dgo.todate IS NULL) OR (lc_dgo.todate >= cdp.todate))))
  • Rows Removed by Join Filter: 524,566
22. 821.937 821.937 ↓ 1.0 574,695 1

Seq Scan on logicalconfig lc_dgo (cost=0.00..35,406.52 rows=573,285 width=12) (actual time=0.962..821.937 rows=574,695 loops=1)

  • Filter: ((NOT deleted) AND ((sourceid)::text = 'DGO'::text) AND ((status)::text = 'ACTUAL'::text))
  • Rows Removed by Filter: 199,073
23. 179.584 23,729.906 ↓ 1.0 463,265 1

Hash (cost=2,933,708.60..2,933,708.60 rows=462,557 width=16) (actual time=23,729.906..23,729.906 rows=463,265 loops=1)

  • Buckets: 131,072 Batches: 8 Memory Usage: 3,687kB
24. 193.803 23,550.322 ↓ 1.0 463,265 1

Hash Left Join (cost=995,074.50..2,933,708.60 rows=462,557 width=16) (actual time=16,884.786..23,550.322 rows=463,265 loops=1)

  • Hash Cond: ((brpj.brp)::text = (brp.externalid)::text)
25. 669.629 23,356.289 ↓ 1.0 463,265 1

Hash Left Join (cost=995,066.65..2,925,753.46 rows=462,557 width=29) (actual time=16,884.542..23,356.289 rows=463,265 loops=1)

  • Hash Cond: (per.deliveryperiodid = brpj.deliveryperiodid)
  • Join Filter: (((cdp.todate IS NULL) AND (brpj.todate IS NULL)) OR ((cdp.fromdate = cdp.todate) AND (brpj.fromdate = cdp.fromdate)) OR ((cdp.todate IS NOT NULL) AND (brpj.fromdate < c (...)
  • Rows Removed by Join Filter: 73,570
26. 375.697 22,287.729 ↓ 1.0 462,591 1

Merge Right Join (cost=976,660.08..2,887,559.96 rows=462,557 width=20) (actual time=16,484.909..22,287.729 rows=462,591 loops=1)

  • Merge Cond: (freeaddressesdetail.addressid = dp.addressid)
27. 108.598 5,086.852 ↓ 83.9 359,453 1

Nested Loop (cost=0.85..4,138,340.24 rows=4,285 width=4) (actual time=0.224..5,086.852 rows=359,453 loops=1)

28. 1,024.271 3,540.442 ↓ 83.9 359,453 1

Index Scan using freeadddetail_addressid_idx on freeaddressesdetail (cost=0.42..4,130,278.13 rows=4,285 width=4) (actual time=0.213..3,540.442 rows=359,453 loops=1)

  • Filter: ((((addressid)::text || ';'::text) || (addressdetailnbr)::text) = (SubPlan 11))
29.          

SubPlan (for Index Scan)

30. 359.332 2,516.171 ↑ 1.0 1 359,453

Limit (cost=4.76..4.77 rows=1 width=36) (actual time=0.006..0.007 rows=1 loops=359,453)

31.          

Initplan (for Limit)

32. 0.121 0.121 ↑ 1.0 1 1

Index Scan using property_pkey on property (cost=0.27..2.29 rows=1 width=7) (actual time=0.120..0.121 rows=1 loops=1)

  • Index Cond: ((propertycode)::text = 'defaultCustomerLanguageCode'::text)
33. 2,156.718 2,156.718 ↑ 1.0 1 359,453

Sort (cost=2.47..2.48 rows=1 width=36) (actual time=0.006..0.006 rows=1 loops=359,453)

  • Sort Key: (CASE WHEN ((freeaddressesdetail_1.language)::text = ($9)::text) THEN 1 WHEN ((freeaddressesdetail_1.language)::text = 'NL'::text) THEN 2 WH (...)
  • Sort Method: quicksort Memory: 25kB
  • -> Index Scan using freeadddetail_addressid_idx on freeaddressesdetail freeaddressesdetail_1 (cost=0.42..2.46 rows=1 width=36) (actual time=0.004..0 (...)
  • Index Cond: (addressid = freeaddressesdetail.addressid)
34. 1,437.812 1,437.812 ↑ 1.0 1 359,453

Index Scan using freeaddresses_pkey on freeaddresses (cost=0.42..1.88 rows=1 width=72) (actual time=0.004..0.004 rows=1 loops=359,453)

  • Index Cond: (addressid = freeaddressesdetail.addressid)
35. 133.716 16,825.180 ↓ 1.0 462,591 1

Materialize (cost=976,659.23..978,972.01 rows=462,557 width=24) (actual time=16,484.676..16,825.180 rows=462,591 loops=1)

36. 569.757 16,691.464 ↓ 1.0 462,591 1

Sort (cost=976,659.23..977,815.62 rows=462,557 width=24) (actual time=16,484.672..16,691.464 rows=462,591 loops=1)

  • Sort Key: dp.addressid
  • Sort Method: external merge Disk: 14,928kB
37. 349.872 16,121.707 ↓ 1.0 462,591 1

Hash Left Join (cost=109,406.50..927,712.30 rows=462,557 width=24) (actual time=2,553.721..16,121.707 rows=462,591 loops=1)

  • Hash Cond: (((dp.gridoperator)::text = (dgo_encom.gridoperator)::text) AND ((dp.regulator)::text = (dgo_hgz.regulator)::text) AND ((dp.market)::text = (dgo_hg (...)
38. 561.058 15,771.326 ↓ 1.0 462,591 1

Hash Left Join (cost=109,393.23..921,455.23 rows=462,557 width=41) (actual time=2,553.035..15,771.326 rows=462,591 loops=1)

  • Hash Cond: (per.deliverypointid = dp.deliverypointid)
39. 545.074 14,791.311 ↓ 1.0 462,591 1

Hash Left Join (cost=90,882.07..893,647.85 rows=462,557 width=20) (actual time=2,093.271..14,791.311 rows=462,591 loops=1)

  • Hash Cond: (cdp.deliveryperiodid = per.deliveryperiodid)
40. 1,298.771 13,919.411 ↓ 1.0 462,591 1

Hash Left Join (cost=72,704.35..868,229.91 rows=462,557 width=16) (actual time=1,764.367..13,919.411 rows=462,591 loops=1)

  • Hash Cond: ((co.contractid = cdp.contractid) AND ((SubPlan 7) = cdp.contractdeliveryid))
41. 1,410.238 5,651.366 ↓ 1.0 462,591 1

Hash Right Join (cost=45,496.55..775,459.81 rows=462,557 width=4) (actual time=1,270.881..5,651.366 rows=462,591 loops=1)

  • Hash Cond: (cj.contractid = co.contractid)
  • -> Index Only Scan using contractjournal_pkey on contractjournal cj (cost=0.42..728075.59 rows=3,716 width=4) (actual time=0.302..379 (...)
  • Filter: (journalentry = (SubPlan 9))
  • Rows Removed by Filter: 280,638
  • Heap Fetches: 59
42. 154.221 1,268.348 ↓ 1.0 462,591 1

Hash (cost=37,907.17..37,907.17 rows=462,557 width=4) (actual time=1,268.348..1,268.348 rows=462,591 loops=1)

  • Buckets: 131,072 Batches: 8 Memory Usage: 3,059kB
43. 430.363 1,114.127 ↓ 1.0 462,591 1

Hash Right Join (cost=11,112.36..37,907.17 rows=462,557 width=4) (actual time=272.325..1,114.127 rows=462,591 loops=1)

  • Hash Cond: (co.customerid = cu.customerid)
44. 415.065 415.065 ↑ 1.0 462,557 1

Seq Scan on contract co (cost=0.00..19,238.57 rows=462,557 width=20) (actual time=0.215..415.065 rows=462,557 loops=1)

45. 268.699 268.699 ↓ 1.0 235,306 1

Hash (cost=7,251.05..7,251.05 rows=235,305 width=8) (actual time=268.699..268.699 rows=235,306 loops=1)

  • Buckets: 131,072 Batches: 4 Memory Usage: 3,329kB
  • -> Seq Scan on customer cu (cost=0.00..7251.05 rows=235,305 width=8) (actual time=0.262..187.915 rows=235,306 loops= (...)
46.          

SubPlan (for Hash Right Join)

47. 743.195 2,972.780 ↑ 1.0 1 743,195

Result (cost=0.95..0.96 rows=1 width=4) (actual time=0.004..0.004 rows=1 loops=743,195)

48.          

Initplan (for Result)

49. 2,229.585 2,229.585 ↑ 1.0 1 743,195

Limit (cost=0.42..0.95 rows=1 width=4) (actual time=0.003..0.003 rows=1 loops=743,195)

  • -> Index Only Scan Backward using contractjournal_pkey on contractjournal cj2 (cost=0.42..1.47 rows=2 width=4) (...)
  • Index Cond: ((contractid = cj.contractid) AND (journalentry IS NOT NULL))
  • Heap Fetches: 66
50. 184.312 493.259 ↑ 1.0 467,632 1

Hash (cost=17,452.32..17,452.32 rows=467,632 width=20) (actual time=493.259..493.259 rows=467,632 loops=1)

  • Buckets: 65,536 Batches: 8 Memory Usage: 3,414kB
51. 308.947 308.947 ↑ 1.0 467,632 1

Seq Scan on contractdelivery cdp (cost=0.00..17,452.32 rows=467,632 width=20) (actual time=0.284..308.947 rows=467,632 loops=1)

52.          

SubPlan (for Hash Left Join)

53. 925.145 6,476.015 ↑ 1.0 1 925,145

Limit (cost=2.45..2.45 rows=1 width=8) (actual time=0.007..0.007 rows=1 loops=925,145)

54. 5,550.870 5,550.870 ↑ 1.0 1 925,145

Sort (cost=2.45..2.45 rows=1 width=8) (actual time=0.006..0.006 rows=1 loops=925,145)

  • Sort Key: cdp2.todate DESC
  • Sort Method: quicksort Memory: 25kB
  • -> Index Scan using contractdelively_contract_id_idx on contractdelivery cdp2 (cost=0.42..2.44 rows=1 width=8) (actual time= (...)
  • Index Cond: (contractid = co.contractid)
55. 123.071 326.826 ↑ 1.0 384,164 1

Hash (cost=11,845.43..11,845.43 rows=385,943 width=8) (actual time=326.826..326.826 rows=384,164 loops=1)

  • Buckets: 131,072 Batches: 8 Memory Usage: 2,904kB
56. 203.755 203.755 ↑ 1.0 384,164 1

Seq Scan on deliveryperiod per (cost=0.00..11,845.43 rows=385,943 width=8) (actual time=0.981..203.755 rows=384,164 loops=1)

57. 179.656 418.957 ↑ 1.1 359,452 1

Hash (cost=10,987.18..10,987.18 rows=389,118 width=25) (actual time=418.956..418.957 rows=359,452 loops=1)

  • Buckets: 65,536 Batches: 8 Memory Usage: 3,066kB
58. 239.301 239.301 ↑ 1.1 359,452 1

Seq Scan on deliverypoint dp (cost=0.00..10,987.18 rows=389,118 width=25) (actual time=1.241..239.301 rows=359,452 loops=1)

59. 0.043 0.509 ↓ 1.5 62 1

Hash (cost=12.54..12.54 rows=42 width=40) (actual time=0.509..0.509 rows=62 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 12kB
60. 0.078 0.466 ↓ 1.5 62 1

Hash Join (cost=5.34..12.54 rows=42 width=40) (actual time=0.331..0.466 rows=62 loops=1)

  • Hash Cond: (a.actorid = dgo_hgz.gridoperatorid)
61. 0.142 0.291 ↓ 1.2 64 1

Hash Join (cost=1.92..8.97 rows=54 width=36) (actual time=0.178..0.291 rows=64 loops=1)

  • Hash Cond: ((a.externalid)::text = (dgo_encom.gridoperator)::text)
62. 0.052 0.052 ↑ 1.0 82 1

Seq Scan on actor a (cost=0.00..6.82 rows=82 width=13) (actual time=0.013..0.052 rows=82 loops=1)

63. 0.035 0.097 ↓ 1.0 42 1

Hash (cost=1.41..1.41 rows=41 width=32) (actual time=0.097..0.097 rows=42 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 10kB
64. 0.062 0.062 ↓ 1.0 42 1

Seq Scan on gridoperator dgo_encom (cost=0.00..1.41 rows=41 width=32) (actual time=0.054..0.062 rows=42 loops=1)

65. 0.036 0.097 ↑ 1.0 63 1

Hash (cost=2.63..2.63 rows=63 width=12) (actual time=0.097..0.097 rows=63 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 11kB
66. 0.061 0.061 ↑ 1.0 63 1

Seq Scan on gridoperator dgo_hgz (cost=0.00..2.63 rows=63 width=12) (actual time=0.042..0.061 rows=63 loops=1)

67. 177.775 398.931 ↑ 1.0 409,981 1

Hash (cost=10,478.81..10,478.81 rows=409,981 width=25) (actual time=398.931..398.931 rows=409,981 loops=1)

  • Buckets: 65,536 Batches: 8 Memory Usage: 3,323kB
68. 221.156 221.156 ↑ 1.0 409,981 1

Seq Scan on deliveryperiodbrpjournal brpj (cost=0.00..10,478.81 rows=409,981 width=25) (actual time=0.937..221.156 rows=409,981 loops=1)

69. 0.058 0.230 ↑ 1.0 81 1

Hash (cost=6.82..6.82 rows=82 width=9) (actual time=0.229..0.230 rows=81 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 12kB
70. 0.172 0.172 ↑ 1.0 82 1

Seq Scan on actor brp (cost=0.00..6.82 rows=82 width=9) (actual time=0.101..0.172 rows=82 loops=1)

71. 0.016 1.781 ↓ 4.0 4 1

Sort (cost=1.46..1.46 rows=1 width=12) (actual time=1.779..1.781 rows=4 loops=1)

  • Sort Key: lc_usr.deliverypointid
  • Sort Method: quicksort Memory: 25kB
72. 1.765 1.765 ↓ 4.0 4 1

Index Scan using logicalconfig_sourceid_idx on logicalconfig lc_usr (cost=0.42..1.45 rows=1 width=12) (actual time=1.708..1.765 rows=4 loops=1)

  • Index Cond: ((sourceid)::text = 'USER'::text)
  • Filter: ((NOT deleted) AND ((status)::text = 'ACTUAL'::text))
73. 294.893 1,711.381 ↓ 1.5 962,665 1

Materialize (cost=0.43..57,004.90 rows=646,727 width=31) (actual time=0.097..1,711.381 rows=962,665 loops=1)

74. 1,416.488 1,416.488 ↑ 1.1 574,695 1

Index Scan using "IX_generalconfig_deliverypointid_generalconfig" on generalconfig gc_dgo (cost=0.43..55,388.09 rows=646,727 width=31) (actual time=0.093..1,416.488 rows=574,695 loops=1)

  • Filter: ((NOT deleted) AND ((sourceid)::text = 'DGO'::text) AND ((status)::text = 'ACTUAL'::text))
  • Rows Removed by Filter: 664,631
75. 263.415 1,230.252 ↓ 1.7 961,763 1

Materialize (cost=0.42..31,083.71 rows=573,911 width=12) (actual time=0.227..1,230.252 rows=961,763 loops=1)

76. 966.837 966.837 ↓ 1.0 574,082 1

Index Scan using "IX_physicalconfig_deliverypointid_physicalconfig" on physicalconfig pc_dgo (cost=0.42..29,648.93 rows=573,911 width=12) (actual time=0.219..966.837 rows=574,082 loops=1)

  • Filter: ((NOT deleted) AND ((sourceid)::text = 'DGO'::text) AND ((status)::text = 'ACTUAL'::text))
  • Rows Removed by Filter: 194,186
77. 240.717 1,587.057 ↓ 2.0 801,052 1

Materialize (cost=0.43..56,384.52 rows=398,573 width=31) (actual time=0.021..1,587.057 rows=801,052 loops=1)

78. 1,346.340 1,346.340 ↓ 1.2 467,632 1

Index Scan using "IX_generalconfig_deliverypointid_generalconfig" on generalconfig gc_usr (cost=0.43..55,388.09 rows=398,573 width=31) (actual time=0.015..1,346.340 rows=467,632 loops=1)

  • Filter: ((NOT deleted) AND ((sourceid)::text = 'USER'::text) AND ((status)::text = 'ACTUAL'::text))
  • Rows Removed by Filter: 771,694
Planning time : 81.771 ms
Execution time : 70,383.470 ms