explain.depesz.com

PostgreSQL's explain analyze made readable

Result: QgKG : billing settlemement

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 31.625 ↓ 0.0 0 1

Unique (cost=272,452.17..272,452.18 rows=1 width=8) (actual time=31.625..31.625 rows=0 loops=1)

2. 0.015 31.625 ↓ 0.0 0 1

Sort (cost=272,452.17..272,452.17 rows=1 width=8) (actual time=31.624..31.625 rows=0 loops=1)

  • Sort Key: c.contractid, crel2.finalcontractid
  • Sort Method: quicksort Memory: 25kB
3. 0.000 31.610 ↓ 0.0 0 1

Nested Loop Left Join (cost=206,714.68..272,452.16 rows=1 width=8) (actual time=31.610..31.610 rows=0 loops=1)

  • Filter: ((invoiced_in_pv.* IS NULL) OR (invoicedin_product.productcodeparamid IS NULL) OR ((invoicedin_product.marketcode)::text = '$4'::text))
4. 0.001 31.610 ↓ 0.0 0 1

Nested Loop Left Join (cost=206,714.40..272,451.86 rows=1 width=303) (actual time=31.610..31.610 rows=0 loops=1)

5. 0.000 31.609 ↓ 0.0 0 1

Nested Loop (cost=206,713.98..272,449.59 rows=1 width=303) (actual time=31.609..31.609 rows=0 loops=1)

6. 0.001 31.609 ↓ 0.0 0 1

Nested Loop Left Join (cost=206,713.70..272,449.28 rows=1 width=307) (actual time=31.609..31.609 rows=0 loops=1)

7. 0.000 31.608 ↓ 0.0 0 1

Nested Loop Left Join (cost=206,713.43..272,448.90 rows=1 width=20) (actual time=31.608..31.608 rows=0 loops=1)

8. 0.000 31.608 ↓ 0.0 0 1

Nested Loop (cost=206,713.14..272,448.59 rows=1 width=12) (actual time=31.608..31.608 rows=0 loops=1)

  • Join Filter: ((deliverypoint.deliverypointid = generalconfig.deliverypointid) AND ((SubPlan 5) OR (alternatives: SubPlan 6 or hashed SubPlan 7) OR (alternatives: SubPlan 8 or hashed SubPlan 9)))
9. 0.000 31.608 ↓ 0.0 0 1

Nested Loop (cost=206,712.71..272,088.69 rows=1 width=48) (actual time=31.607..31.608 rows=0 loops=1)

10. 52.417 52.642 ↓ 0.0 0 1

Gather (cost=206,712.29..272,088.24 rows=1 width=44) (actual time=31.606..52.642 rows=0 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
11. 0.183 0.225 ↓ 0.0 0 3 / 3

Hash Join (cost=205,712.29..271,088.14 rows=1 width=44) (actual time=0.224..0.225 rows=0 loops=3)

  • Hash Cond: (cdp.deliveryperiodid = deliveryperiod.deliveryperiodid)
12. 0.000 0.000 ↓ 0.0 0 / 3

Hash Join (cost=205,707.62..271,043.85 rows=10,564 width=28) (never executed)

  • Hash Cond: (c.supplierid = su.supplierid)
13. 0.000 0.000 ↓ 0.0 0 / 3

Hash Left Join (cost=205,690.59..265,811.32 rows=1,971,932 width=32) (never executed)

  • Hash Cond: (ch.productcodeparamid = pvr.parametervalueid)
14. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Hash Join (cost=205,650.01..240,716.86 rows=426,765 width=32) (never executed)

  • Hash Cond: (ch.contractid = c.contractid)
15. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Seq Scan on contracthistory ch (cost=0.00..22,567.30 rows=594,230 width=20) (never executed)

16. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Hash (cost=200,859.86..200,859.86 rows=260,892 width=24) (never executed)

17. 0.000 0.000 ↓ 0.0 0 / 3

Hash Left Join (cost=94,338.73..200,859.86 rows=260,892 width=24) (never executed)

  • Hash Cond: (c.contractid = crel2.originalcontractid)
18. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Hash Join (cost=94,180.00..199,722.78 rows=260,892 width=20) (never executed)

  • Hash Cond: (cj.contractid = c.contractid)
19. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Seq Scan on contractjournal cj (cost=0.00..99,052.23 rows=354,267 width=4) (never executed)

  • Filter: (todate IS NULL)
20. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Hash (cost=89,529.02..89,529.02 rows=267,519 width=16) (never executed)

21. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Hash Join (cost=50,820.11..89,529.02 rows=267,519 width=16) (never executed)

  • Hash Cond: (c.customerid = cu.customerid)
22. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Hash Join (cost=35,401.50..69,472.16 rows=267,519 width=20) (never executed)

  • Hash Cond: (cdp.contractid = c.contractid)
23. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Seq Scan on contractdelivery cdp (cost=0.00..29,504.42 rows=267,519 width=8) (never executed)

  • Filter: ((todate IS NULL) OR (todate > fromdate))
24. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Hash (cost=29,086.67..29,086.67 rows=363,267 width=12) (never executed)

25. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Seq Scan on contract c (cost=0.00..29,086.67 rows=363,267 width=12) (never executed)

  • Filter: ((offer IS NULL) OR (NOT offer))
26. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Hash (cost=12,059.38..12,059.38 rows=204,738 width=4) (never executed)

27. 0.000 0.000 ↓ 0.0 0 / 3

Parallel Seq Scan on customer cu (cost=0.00..12,059.38 rows=204,738 width=4) (never executed)

28. 0.000 0.000 ↓ 0.0 0 / 3

Hash (cost=158.66..158.66 rows=5 width=8) (never executed)

29. 0.000 0.000 ↓ 0.0 0 / 3

Hash Join (cost=2.31..158.66 rows=5 width=8) (never executed)

  • Hash Cond: (crel2.contractrelationtypeparamid = crelp.parametervalueid)
30. 0.000 0.000 ↓ 0.0 0 / 3

Seq Scan on contractrelation crel2 (cost=0.00..137.73 rows=7,073 width=12) (never executed)

31. 0.000 0.000 ↓ 0.0 0 / 3

Hash (cost=2.30..2.30 rows=1 width=4) (never executed)

32. 0.000 0.000 ↓ 0.0 0 / 3

Index Scan using parametervalue_internalparametervaluecode_idx on parametervalue crelp (cost=0.28..2.30 rows=1 width=4) (never executed)

  • Index Cond: ((internalparametervaluecode)::text = '$10'::text)
  • Filter: ((internalparametervaluecode)::text ~~* '$10'::text)
33. 0.000 0.000 ↓ 0.0 0 / 3

Hash (cost=25.81..25.81 rows=1,181 width=4) (never executed)

34. 0.000 0.000 ↓ 0.0 0 / 3

Seq Scan on parametervaluerelation pvr (cost=0.00..25.81 rows=1,181 width=4) (never executed)

35. 0.000 0.000 ↓ 0.0 0 / 3

Hash (cost=17.00..17.00 rows=3 width=4) (never executed)

36. 0.000 0.000 ↓ 0.0 0 / 3

Seq Scan on supplier su (cost=0.00..17.00 rows=3 width=4) (never executed)

  • Filter: ((internaldeliverycategoryparamvaluecode)::text = '$1'::text)
37. 0.000 0.042 ↓ 0.0 0 3 / 3

Hash (cost=4.65..4.65 rows=1 width=20) (actual time=0.042..0.042 rows=0 loops=3)

  • Buckets: 1,024 Batches: 1 Memory Usage: 8kB
38. 0.001 0.042 ↓ 0.0 0 3 / 3

Nested Loop (cost=0.85..4.65 rows=1 width=20) (actual time=0.042..0.042 rows=0 loops=3)

39. 0.041 0.041 ↓ 0.0 0 3 / 3

Index Scan using "IX_deliverypoint_market_deliverypoint" on deliverypoint (cost=0.42..2.20 rows=1 width=4) (actual time=0.041..0.041 rows=0 loops=3)

  • Index Cond: ((market)::text = '$3'::text)
  • Filter: (deleted IS FALSE)
40. 0.000 0.000 ↓ 0.0 0 / 3

Index Scan using deliveryperiod_deliverypointid_supplier_sourceid_idx on deliveryperiod (cost=0.42..2.44 rows=1 width=16) (never executed)

  • Index Cond: (deliverypointid = deliverypoint.deliverypointid)
  • Filter: (deleted IS FALSE)
41. 0.000 0.000 ↓ 0.0 0

Index Scan using deliverypointcomponent_pk on deliverypointcomponent (cost=0.42..0.46 rows=1 width=4) (never executed)

  • Index Cond: (deliverypointcomponentid = deliveryperiod.deliverypointcomponentid)
  • Filter: (deleted IS FALSE)
42. 0.000 0.000 ↓ 0.0 0

Index Scan using generalconfig_deliverypointcomponentid_idx on generalconfig (cost=0.43..0.57 rows=1 width=20) (never executed)

  • Index Cond: (deliverypointcomponentid = deliverypointcomponent.deliverypointcomponentid)
  • Filter: ((deleted IS FALSE) AND ((readingfrequency)::text = '$2'::text))
43.          

SubPlan (for Nested Loop)

44. 0.000 0.000 ↓ 0.0 0

Result (cost=0.87..251.88 rows=1 width=0) (never executed)

  • One-Time Filter: (((generalconfig.sourceid)::text = (deliveryperiod.sourceid)::text) OR ((generalconfig.sourceid)::text = '$26'::text))
45. 0.000 0.000 ↓ 0.0 0

Nested Loop Semi Join (cost=0.87..251.88 rows=1 width=0) (never executed)

  • Join Filter: (((consumptionbillingtarget_1.datasource IS NULL) OR ((consumptionbillingtarget_1.datasource)::text = (consumption.sourceid)::text)) AND ((consumptionbillingtarget_1.context IS NULL) OR ((consumptionbillingtarget_1.context)::text = (consumption.context)::text)))
46. 0.000 0.000 ↓ 0.0 0

Nested Loop Anti Join (cost=0.86..233.72 rows=1 width=12) (never executed)

  • Join Filter: (((consumptionbillingtarget.datasource IS NULL) OR ((consumptionbillingtarget.datasource)::text = (consumption.sourceid)::text)) AND ((consumptionbillingtarget.context IS NULL) OR ((consumptionbillingtarget.context)::text = (consumption.context)::text)))
47. 0.000 0.000 ↓ 0.0 0

Nested Loop Left Join (cost=0.86..215.57 rows=1 width=12) (never executed)

  • Join Filter: ((meteringcontext.context)::text = (consumption.context)::text)
48. 0.000 0.000 ↓ 0.0 0

Nested Loop Left Join (cost=0.86..213.85 rows=1 width=12) (never executed)

  • Filter: ((NOT COALESCE(consumptionext.contractual, false)) AND ((COALESCE(consumptionext.rectifstatus) IS NULL) OR ((COALESCE(consumptionext.rectifstatus))::text <> '22'::text)))
49. 0.000 0.000 ↓ 0.0 0

Index Scan using "IX_consumption_deliveryperiodid_consumption" on consumption (cost=0.43..211.38 rows=1 width=16) (never executed)

  • Index Cond: (deliveryperiodid = deliveryperiod.deliveryperiodid)
  • Filter: ((deleted IS FALSE) AND (NOT historical) AND (NOT ignored) AND (NOT deleted) AND ((measurementfrequency)::text <> ALL ('{HOURLY,QUARTER_HOURLY}'::text[])) AND (ch.startdate <= fromdate) AND (generalconfig.fromdate <= fromdate) AND ((generalconfig.todate IS NULL) OR (generalconfig.todate > fromdate)) AND ((status)::text = 'ACTUAL'::text) AND ((externalref IS NULL) OR ((externalref)::text = '21'::text) OR ((externalref)::text = ((c.contractid)::character varying)::text)) AND CASE WHEN (ch.duration = 0) THEN true ELSE (COALESCE(ch.forcedenddate, ((ch.startdate + (((ch.duration)::text || '12'::text))::interval))::date) > fromdate) END AND ((NOT (alternatives: SubPlan 1 or hashed SubPlan 2)) OR (alternatives: SubPlan 3 or hashed SubPlan 4)))
50.          

SubPlan (for Index Scan)

51. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_invoicedconsumption_consumptionid on invoicedconsumption ic (cost=0.43..2.46 rows=1 width=0) (never executed)

  • Index Cond: (consumptionid = consumption.consumptionid)
  • Filter: (((status)::text <> '$30'::text) AND ((status)::text !~~ '$31'::text) AND ((billingtype)::text = '$8'::text))
52. 0.000 0.000 ↓ 0.0 0

Gather (cost=1,000.00..108,748.21 rows=1 width=4) (never executed)

  • Workers Planned: 2
  • Workers Launched: 0
53. 0.000 0.000 ↓ 0.0 0

Parallel Seq Scan on invoicedconsumption ic_1 (cost=0.00..107,748.11 rows=1 width=4) (never executed)

  • Filter: (((status)::text <> '$30'::text) AND ((status)::text !~~ '$31'::text) AND ((billingtype)::text = '$8'::text))
54. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_invoicedconsumption_consumptionid on invoicedconsumption ic_2 (cost=0.43..2.46 rows=1 width=0) (never executed)

  • Index Cond: (consumptionid = consumption.consumptionid)
  • Filter: (((billingtype)::text = '$9'::text) AND (((status)::text = '$33'::text) OR ((status)::text = '$34'::text) OR ((status)::text = '$35'::text)))
55. 0.000 0.000 ↓ 0.0 0

Gather (cost=1,000.00..111,974.66 rows=1 width=4) (never executed)

  • Workers Planned: 2
  • Workers Launched: 0
56. 0.000 0.000 ↓ 0.0 0

Parallel Seq Scan on invoicedconsumption ic_3 (cost=0.00..110,974.56 rows=1 width=4) (never executed)

  • Filter: (((billingtype)::text = '$9'::text) AND (((status)::text = '$33'::text) OR ((status)::text = '$34'::text) OR ((status)::text = '$35'::text)))
57. 0.000 0.000 ↓ 0.0 0

Index Scan using consumptionext_pkey on consumptionext (cost=0.43..2.45 rows=1 width=37) (never executed)

  • Index Cond: (consumptionid = consumption.consumptionid)
58. 0.000 0.000 ↓ 0.0 0

Seq Scan on meteringcontext (cost=0.00..1.32 rows=32 width=13) (never executed)

59. 0.000 0.000 ↓ 0.0 0

Seq Scan on consumptionbillingtarget (cost=0.00..18.12 rows=2 width=64) (never executed)

  • Filter: (include AND ((billingtype)::text = '$6'::text))
60. 0.000 0.000 ↓ 0.0 0

Seq Scan on consumptionbillingtarget consumptionbillingtarget_1 (cost=0.00..18.12 rows=2 width=64) (never executed)

  • Filter: (include AND ((billingtype)::text = '$7'::text))
61. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.85..10.18 rows=1 width=0) (never executed)

62. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.42..7.59 rows=1 width=4) (never executed)

63. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.14..4.26 rows=1 width=4) (never executed)

  • Join Filter: "overlaps"((cdel.fromdate)::timestamp with time zone, COALESCE((cdel.todate)::timestamp with time zone, now()), (dpr.fromdate)::timestamp with time zone, COALESCE((dpr.todate)::timestamp with time zone, now()))
64. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.71..3.76 rows=1 width=16) (never executed)

65. 0.000 0.000 ↓ 0.0 0

Index Scan using decentralizedproduction_status_idx on decentralizedproduction dpr (cost=0.29..1.31 rows=1 width=16) (never executed)

  • Index Cond: ((status)::text = '$37'::text)
66. 0.000 0.000 ↓ 0.0 0

Index Scan using deliveryperiod_deliverypointid_supplier_sourceid_idx on deliveryperiod delp (cost=0.42..2.44 rows=1 width=8) (never executed)

  • Index Cond: (deliverypointid = dpr.deliverypointid)
67. 0.000 0.000 ↓ 0.0 0

Index Scan using contractdelivery_deliveryperiodid_idx on contractdelivery cdel (cost=0.42..0.48 rows=1 width=12) (never executed)

  • Index Cond: (deliveryperiodid = delp.deliveryperiodid)
68. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_invoiceddecentralizedproduction_decentralizedproductionid on invoiceddecentralizedproduction invoiced (cost=0.28..3.31 rows=1 width=8) (never executed)

  • Index Cond: (decentralizedproductionid = dpr.decentralizedproductionid)
  • Filter: ((status)::text = '$36'::text)
69. 0.000 0.000 ↓ 0.0 0

Index Scan using invoice_pkey on invoice inv (cost=0.43..2.46 rows=1 width=4) (never executed)

  • Index Cond: (invoiceid = invoiced.invoiceid)
  • Filter: (c.contractid = contractid)
70. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.85..10.04 rows=1 width=4) (never executed)

71. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.42..7.59 rows=1 width=4) (never executed)

72. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.14..4.26 rows=1 width=4) (never executed)

  • Join Filter: "overlaps"((cdel_1.fromdate)::timestamp with time zone, COALESCE((cdel_1.todate)::timestamp with time zone, now()), (dpr_1.fromdate)::timestamp with time zone, COALESCE((dpr_1.todate)::timestamp with time zone, now()))
73. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.71..3.76 rows=1 width=16) (never executed)

74. 0.000 0.000 ↓ 0.0 0

Index Scan using decentralizedproduction_status_idx on decentralizedproduction dpr_1 (cost=0.29..1.31 rows=1 width=16) (never executed)

  • Index Cond: ((status)::text = '$37'::text)
75. 0.000 0.000 ↓ 0.0 0

Index Scan using deliveryperiod_deliverypointid_supplier_sourceid_idx on deliveryperiod delp_1 (cost=0.42..2.44 rows=1 width=8) (never executed)

  • Index Cond: (deliverypointid = dpr_1.deliverypointid)
76. 0.000 0.000 ↓ 0.0 0

Index Scan using contractdelivery_deliveryperiodid_idx on contractdelivery cdel_1 (cost=0.42..0.48 rows=1 width=12) (never executed)

  • Index Cond: (deliveryperiodid = delp_1.deliveryperiodid)
77. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_invoiceddecentralizedproduction_decentralizedproductionid on invoiceddecentralizedproduction invoiced_1 (cost=0.28..3.31 rows=1 width=8) (never executed)

  • Index Cond: (decentralizedproductionid = dpr_1.decentralizedproductionid)
  • Filter: ((status)::text = '$36'::text)
78. 0.000 0.000 ↓ 0.0 0

Index Scan using invoice_pkey on invoice inv_1 (cost=0.43..2.45 rows=1 width=8) (never executed)

  • Index Cond: (invoiceid = invoiced_1.invoiceid)
79. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=2.00..97.25 rows=1 width=0) (never executed)

  • Join Filter: (gfi.deliveryperiodid = delp_2.deliveryperiodid)
80. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.58..96.71 rows=1 width=8) (never executed)

81. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.15..94.25 rows=1 width=12) (never executed)

82. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.72..89.79 rows=1 width=4) (never executed)

83. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_invoice_contractid on invoice inv_2 (cost=0.43..27.20 rows=28 width=4) (never executed)

  • Index Cond: (contractid = c.contractid)
84. 0.000 0.000 ↓ 0.0 0

Index Scan using invoicedgridfeeinvoice_invoiceid_idx on invoicedgridfeeinvoice invoiced_2 (cost=0.29..2.23 rows=1 width=8) (never executed)

  • Index Cond: (invoiceid = inv_2.invoiceid)
  • Filter: ((status)::text = '$38'::text)
85. 0.000 0.000 ↓ 0.0 0

Index Scan using gridfeeinvoice_pk on gridfeeinvoice gfi (cost=0.43..2.45 rows=1 width=16) (never executed)

  • Index Cond: (gridfeeinvoiceid = invoiced_2.gridfeeinvoiceid)
  • Filter: (reversinggridfeeinvoiceid IS NOT NULL)
86. 0.000 0.000 ↓ 0.0 0

Index Scan using contractdelivery_deliveryperiodid_idx on contractdelivery cdel_2 (cost=0.42..2.45 rows=1 width=12) (never executed)

  • Index Cond: (deliveryperiodid = gfi.deliveryperiodid)
  • Filter: ((fromdate <= gfi.fromdate) AND ((todate IS NULL) OR (todate >= gfi.todate)))
87. 0.000 0.000 ↓ 0.0 0

Index Only Scan using deliveryperiod_pkey on deliveryperiod delp_2 (cost=0.42..0.53 rows=1 width=4) (never executed)

  • Index Cond: (deliveryperiodid = cdel_2.deliveryperiodid)
  • Heap Fetches: 0
88. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.71..1,081.42 rows=1 width=4) (never executed)

89. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.28..1,078.96 rows=1 width=4) (never executed)

  • Join Filter: (gfi_1.deliveryperiodid = delp_3.deliveryperiodid)
90. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.85..1,078.42 rows=1 width=12) (never executed)

91. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.43..1,075.96 rows=1 width=16) (never executed)

92. 0.000 0.000 ↓ 0.0 0

Seq Scan on invoicedgridfeeinvoice invoiced_3 (cost=0.00..1,071.50 rows=1 width=8) (never executed)

  • Filter: ((status)::text = '$38'::text)
93. 0.000 0.000 ↓ 0.0 0

Index Scan using gridfeeinvoice_pk on gridfeeinvoice gfi_1 (cost=0.43..2.45 rows=1 width=16) (never executed)

  • Index Cond: (gridfeeinvoiceid = invoiced_3.gridfeeinvoiceid)
  • Filter: (reversinggridfeeinvoiceid IS NOT NULL)
94. 0.000 0.000 ↓ 0.0 0

Index Scan using contractdelivery_deliveryperiodid_idx on contractdelivery cdel_3 (cost=0.42..2.45 rows=1 width=12) (never executed)

  • Index Cond: (deliveryperiodid = gfi_1.deliveryperiodid)
  • Filter: ((fromdate <= gfi_1.fromdate) AND ((todate IS NULL) OR (todate >= gfi_1.todate)))
95. 0.000 0.000 ↓ 0.0 0

Index Only Scan using deliveryperiod_pkey on deliveryperiod delp_3 (cost=0.42..0.53 rows=1 width=4) (never executed)

  • Index Cond: (deliveryperiodid = cdel_3.deliveryperiodid)
  • Heap Fetches: 0
96. 0.000 0.000 ↓ 0.0 0

Index Scan using invoice_pkey on invoice inv_3 (cost=0.43..2.45 rows=1 width=8) (never executed)

  • Index Cond: (invoiceid = invoiced_3.invoiceid)
97. 0.000 0.000 ↓ 0.0 0

Index Only Scan using contractrelation_pk on contractrelation invoicedin_cr (cost=0.28..0.30 rows=1 width=12) (never executed)

  • Index Cond: (originalcontractid = c.contractid)
  • Heap Fetches: 0
98. 0.000 0.000 ↓ 0.0 0

Index Scan using parametervalueid on parametervalue invoiced_in_pv (cost=0.28..0.33 rows=1 width=295) (never executed)

  • Index Cond: (parametervalueid = invoicedin_cr.contractrelationtypeparamid)
  • Filter: ((internalparametervaluecode)::text = '$12'::text)
99. 0.000 0.000 ↓ 0.0 0

Index Scan using product_pkey on product (cost=0.27..0.29 rows=1 width=4) (never executed)

  • Index Cond: (productcodeparamid = ch.productcodeparamid)
  • Filter: ((direction)::text = '$5'::text)
100. 0.000 0.000 ↓ 0.0 0

Index Scan using idx_contracthistory_contractid_pk on contracthistory invoicedin_ch (cost=0.43..2.25 rows=2 width=8) (never executed)

  • Index Cond: (contractid = invoicedin_cr.finalcontractid)
101. 0.000 0.000 ↓ 0.0 0

Index Scan using product_pkey on product invoicedin_product (cost=0.27..0.29 rows=1 width=7) (never executed)

  • Index Cond: (productcodeparamid = invoicedin_ch.productcodeparamid)
Planning time : 21.480 ms