explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Suuk

Settings
# exclusive inclusive rows x rows loops node
1. 0.034 0.335 ↑ 1.0 1 1

Nested Loop Left Join (cost=2.81..36.49 rows=1 width=732) (actual time=0.322..0.335 rows=1 loops=1)

  • Join Filter: (ltf.deliverypointid = deliverypoint.deliverypointid)
2. 0.014 0.209 ↑ 1.0 1 1

Nested Loop Left Join (cost=2.39..20.53 rows=1 width=718) (actual time=0.198..0.209 rows=1 loops=1)

  • Join Filter: (en.deliverypointid = deliverypoint.deliverypointid)
3. 0.002 0.183 ↑ 1.0 1 1

Nested Loop Left Join (cost=1.97..17.76 rows=1 width=704) (actual time=0.174..0.183 rows=1 loops=1)

  • Join Filter: (generalconfig.deliverypointid = deliverypoint.deliverypointid)
4. 0.006 0.166 ↑ 1.0 1 1

Nested Loop Left Join (cost=1.55..14.89 rows=1 width=704) (actual time=0.157..0.166 rows=1 loops=1)

  • Join Filter: ((deliverypoint.regulator)::text = (regulator.regulator)::text)
5. 0.007 0.158 ↑ 1.0 1 1

Nested Loop Left Join (cost=1.55..13.87 rows=1 width=608) (actual time=0.151..0.158 rows=1 loops=1)

  • Join Filter: (((deliverypoint.gridoperator)::text = (gridoperatormarket.gridoperator)::text) AND ((deliverypoint.market)::text = (gridoperatormarket.market)::text))
  • Rows Removed by Join Filter: 1
6. 0.008 0.149 ↑ 1.0 1 1

Nested Loop (cost=1.55..12.82 rows=1 width=544) (actual time=0.144..0.149 rows=1 loops=1)

  • Join Filter: ((deliverypoint.gridoperator)::text = (gridoperator.gridoperator)::text)
  • Rows Removed by Join Filter: 1
7. 0.004 0.137 ↑ 1.0 1 1

Nested Loop Left Join (cost=1.55..11.77 rows=1 width=384) (actual time=0.134..0.137 rows=1 loops=1)

8. 0.016 0.016 ↑ 1.0 1 1

Index Scan using deliverypoint_pkey on deliverypoint (cost=0.42..2.44 rows=1 width=144) (actual time=0.015..0.016 rows=1 loops=1)

  • Index Cond: (deliverypointid = 15,798)
  • Filter: (deleted IS FALSE)
9. 0.004 0.117 ↑ 1.0 1 1

Nested Loop Left Join (cost=1.13..9.33 rows=1 width=240) (actual time=0.115..0.117 rows=1 loops=1)

10. 0.004 0.085 ↑ 1.0 1 1

Nested Loop (cost=0.84..9.00 rows=1 width=217) (actual time=0.084..0.085 rows=1 loops=1)

11. 0.026 0.073 ↑ 1.0 1 1

Index Scan using freeadddetail_addressid_idx on freeaddressesdetail (cost=0.42..7.22 rows=1 width=175) (actual time=0.072..0.073 rows=1 loops=1)

  • Index Cond: (deliverypoint.addressid = addressid)
  • Filter: ((((addressid)::text || ';'::text) || (addressdetailnbr)::text) = (SubPlan 5))
12.          

SubPlan (for Index Scan)

13. 0.000 0.047 ↑ 1.0 1 1

Limit (cost=4.76..4.76 rows=1 width=38) (actual time=0.047..0.047 rows=1 loops=1)

14.          

Initplan (for Limit)

15. 0.024 0.024 ↑ 1.0 1 1

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

  • Index Cond: ((propertycode)::text = 'defaultCustomerLanguageCode'::text)
16. 0.009 0.046 ↑ 1.0 1 1

Sort (cost=2.47..2.47 rows=1 width=38) (actual time=0.046..0.046 rows=1 loops=1)

  • Sort Key: (CASE WHEN ((freeaddressesdetail_1.language)::text = ($6)::text) THEN 1 WHEN ((freeaddressesdetail_1.language)::text = 'NL'::text) THEN 2 WHEN ((freeaddressesdetail_1.language)::text = 'FR'::text) THEN 3 ELSE NULL::integer END)
  • Sort Method: quicksort Memory: 25kB
17. 0.037 0.037 ↑ 1.0 1 1

Index Scan using freeadddetail_addressid_idx on freeaddressesdetail freeaddressesdetail_1 (cost=0.42..2.46 rows=1 width=38) (actual time=0.036..0.037 rows=1 loops=1)

  • Index Cond: (addressid = freeaddressesdetail.addressid)
18. 0.008 0.008 ↑ 1.0 1 1

Index Scan using freeaddresses_pkey on freeaddresses (cost=0.42..1.77 rows=1 width=17) (actual time=0.008..0.008 rows=1 loops=1)

  • Index Cond: (addressid = freeaddressesdetail.addressid)
19. 0.028 0.028 ↑ 1.0 1 1

Index Scan using town_pkey on town t (cost=0.29..0.32 rows=1 width=32) (actual time=0.028..0.028 rows=1 loops=1)

  • Index Cond: (((country)::text = (freeaddresses.country)::text) AND ((postalcode)::text = (freeaddresses.postalcode)::text) AND (towncode = freeaddresses.towncode))
  • Filter: ((postalcode)::text <> 'UNKNOWN'::text)
20. 0.004 0.004 ↑ 1.0 2 1

Seq Scan on gridoperator (cost=0.00..1.02 rows=2 width=160) (actual time=0.003..0.004 rows=2 loops=1)

21. 0.002 0.002 ↑ 1.0 2 1

Seq Scan on gridoperatormarket (cost=0.00..1.02 rows=2 width=64) (actual time=0.002..0.002 rows=2 loops=1)

22. 0.002 0.002 ↑ 1.0 1 1

Seq Scan on regulator (cost=0.00..1.01 rows=1 width=96) (actual time=0.002..0.002 rows=1 loops=1)

23. 0.015 0.015 ↑ 1.0 1 1

Index Scan using "IX_generalconfig_deliverypointid_generalconfig" on generalconfig (cost=0.42..2.85 rows=1 width=4) (actual time=0.015..0.015 rows=1 loops=1)

  • Index Cond: (deliverypointid = 15,798)
  • Filter: ((deleted IS FALSE) AND (todate IS NULL) AND ((sourceid)::text = 'DGO'::text))
  • Rows Removed by Filter: 1
24. 0.012 0.012 ↑ 1.0 1 1

Index Scan using deliverypointaddinfo_deliverpointid_idx on deliverypointaddinfo en (cost=0.42..2.76 rows=1 width=18) (actual time=0.011..0.012 rows=1 loops=1)

  • Index Cond: (deliverypointid = 15,798)
  • Filter: ((code)::text = 'EMERGENCY_NUMBER'::text)
  • Rows Removed by Filter: 1
25. 0.006 0.006 ↑ 1.0 1 1

Index Scan using deliverypointaddinfo_deliverpointid_idx on deliverypointaddinfo ltf (cost=0.42..2.76 rows=1 width=18) (actual time=0.005..0.006 rows=1 loops=1)

  • Index Cond: (deliverypointid = 15,798)
  • Filter: ((code)::text = 'LOW_TIMEFRAME_LABEL'::text)
  • Rows Removed by Filter: 1
26.          

SubPlan (for Nested Loop Left Join)

27. 0.001 0.018 ↑ 1.0 1 1

Nested Loop (cost=0.58..4.63 rows=1 width=0) (actual time=0.018..0.018 rows=1 loops=1)

28. 0.009 0.009 ↑ 1.0 1 1

Index Scan using "IX_deliveryperiod_deliverypointid_deliveryperiod" on deliveryperiod (cost=0.29..2.31 rows=1 width=4) (actual time=0.009..0.009 rows=1 loops=1)

  • Index Cond: (deliverypointid = deliverypoint.deliverypointid)
  • Filter: (deleted IS FALSE)
29. 0.008 0.008 ↑ 1.0 1 1

Index Scan using contractdelivery_deliveryperiodid_idx on contractdelivery cdp (cost=0.29..2.31 rows=1 width=4) (actual time=0.008..0.008 rows=1 loops=1)

  • Index Cond: (deliveryperiodid = deliveryperiod.deliveryperiodid)
  • Filter: (todate IS NULL)
30. 0.000 0.000 ↓ 0.0 0

Merge Join (cost=0.62..7,518.97 rows=72,948 width=4) (never executed)

  • Merge Cond: (cdp_1.deliveryperiodid = deliveryperiod_1.deliveryperiodid)
31. 0.000 0.000 ↓ 0.0 0

Index Scan using contractdelivery_deliveryperiodid_idx on contractdelivery cdp_1 (cost=0.29..2,939.56 rows=72,955 width=4) (never executed)

  • Filter: (todate IS NULL)
32. 0.000 0.000 ↓ 0.0 0

Index Scan using deliveryperiod_pkey on deliveryperiod deliveryperiod_1 (cost=0.29..3,409.45 rows=103,267 width=8) (never executed)

  • Filter: (deleted IS FALSE)
33. 0.001 0.068 ↑ 1.0 1 1

Limit (cost=8.54..8.55 rows=1 width=22) (actual time=0.068..0.068 rows=1 loops=1)

34. 0.014 0.067 ↑ 2.0 1 1

Sort (cost=8.54..8.55 rows=2 width=22) (actual time=0.067..0.067 rows=1 loops=1)

  • Sort Key: physicalconfig.todate, physicalconfig.fromdate
  • Sort Method: quicksort Memory: 25kB
35. 0.001 0.053 ↑ 1.0 2 1

Nested Loop (cost=1.26..8.53 rows=2 width=22) (actual time=0.034..0.053 rows=2 loops=1)

36. 0.004 0.034 ↑ 1.0 2 1

Nested Loop (cost=0.84..7.60 rows=2 width=30) (actual time=0.023..0.034 rows=2 loops=1)

37. 0.014 0.014 ↑ 1.0 2 1

Index Scan using "IX_physicalconfig_deliverypointid_physicalconfig" on physicalconfig (cost=0.42..2.70 rows=2 width=12) (actual time=0.012..0.014 rows=2 loops=1)

  • Index Cond: (deliverypointid = deliverypoint.deliverypointid)
  • Filter: (deleted IS FALSE)
38. 0.016 0.016 ↑ 1.0 1 2

Index Scan using meter_physicalconfigid_idx on meter m (cost=0.42..2.44 rows=1 width=18) (actual time=0.007..0.008 rows=1 loops=2)

  • Index Cond: (physicalconfigid = physicalconfig.physicalconfigid)
39. 0.018 0.018 ↑ 1.0 1 2

Index Scan using physicalconfig_pk on physicalconfig physicalconfig_1 (cost=0.42..0.46 rows=1 width=4) (actual time=0.008..0.009 rows=1 loops=2)

  • Index Cond: (physicalconfigid = m.physicalconfigid)
  • Filter: (deleted IS FALSE)
Planning time : 9.909 ms
Execution time : 0.949 ms