explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 1DcW : Optimization for: Optimization for: plan #lvOE; plan #auh9

Settings

Optimization path:

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 5.272 52.747 ↓ 698.0 698 1

Nested Loop Left Join (cost=24.65..67.97 rows=1 width=1,515) (actual time=0.753..52.747 rows=698 loops=1)

2.          

CTE basic_data

3. 0.006 0.083 ↑ 1.0 1 1

Nested Loop (cost=0.72..21.05 rows=1 width=532) (actual time=0.063..0.083 rows=1 loops=1)

  • Join Filter: (ct.countryid = fc2.countryid)
  • Rows Removed by Join Filter: 6
4. 0.003 0.070 ↑ 1.0 1 1

Nested Loop (cost=0.72..19.25 rows=1 width=535) (actual time=0.057..0.070 rows=1 loops=1)

  • Join Filter: (ct.countryid = fc.countryid)
  • Rows Removed by Join Filter: 6
5. 0.000 0.056 ↑ 1.0 1 1

Nested Loop (cost=0.72..17.46 rows=1 width=530) (actual time=0.050..0.056 rows=1 loops=1)

6. 0.003 0.052 ↑ 1.0 1 1

Nested Loop (cost=0.57..16.90 rows=1 width=10) (actual time=0.047..0.052 rows=1 loops=1)

7. 0.003 0.047 ↑ 1.0 1 1

Nested Loop (cost=0.43..16.72 rows=1 width=10) (actual time=0.044..0.047 rows=1 loops=1)

8. 0.042 0.042 ↑ 1.0 1 1

Index Scan using mwq_areapolygons_polygongeo on mwq_areapolygons ap (cost=0.14..8.41 rows=1 width=4) (actual time=0.040..0.042 rows=1 loops=1)

  • Index Cond: (polygongeo && '0101000020E6100000915F3FC406FF4740D7DCD1FF72553D40'::geometry)
  • Filter: _st_intersects(polygongeo, '0101000020E6100000915F3FC406FF4740D7DCD1FF72553D40'::geometry)
  • Rows Removed by Filter: 1
9. 0.002 0.002 ↑ 1.0 1 1

Index Scan using mwq_area_pkey on mwq_area a_1 (cost=0.28..8.30 rows=1 width=10) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: (id = ap.id)
10. 0.002 0.002 ↑ 1.0 1 1

Index Scan using mwq_city_pkey on mwq_city ct (cost=0.14..0.16 rows=1 width=8) (actual time=0.001..0.002 rows=1 loops=1)

  • Index Cond: (id = a_1.cityid)
11. 0.004 0.004 ↑ 1.0 1 1

Index Scan using tgb_countrysettings_pkey on tgb_countrysettings cs (cost=0.14..0.55 rows=1 width=520) (actual time=0.003..0.004 rows=1 loops=1)

  • Index Cond: (countryid = ct.countryid)
12. 0.011 0.011 ↑ 1.0 7 1

Seq Scan on tgb_featurecountry fc (cost=0.00..1.70 rows=7 width=5) (actual time=0.004..0.011 rows=7 loops=1)

  • Filter: (featureid = 2)
  • Rows Removed by Filter: 49
13. 0.007 0.007 ↑ 1.0 7 1

Seq Scan on tgb_featurecountry fc2 (cost=0.00..1.70 rows=7 width=5) (actual time=0.003..0.007 rows=7 loops=1)

  • Filter: (featureid = 1)
  • Rows Removed by Filter: 49
14.          

Initplan (forNested Loop Left Join)

15. 0.001 0.001 ↑ 1.0 1 1

CTE Scan on basic_data (cost=0.00..0.02 rows=1 width=1) (actual time=0.001..0.001 rows=1 loops=1)

16. 0.000 0.000 ↑ 1.0 1 1

CTE Scan on basic_data basic_data_1 (cost=0.00..0.02 rows=1 width=1) (actual time=0.000..0.000 rows=1 loops=1)

17. 0.000 0.000 ↑ 1.0 1 1

CTE Scan on basic_data basic_data_2 (cost=0.00..0.02 rows=1 width=1) (actual time=0.000..0.000 rows=1 loops=1)

18. 0.001 0.001 ↑ 1.0 1 1

CTE Scan on basic_data basic_data_3 (cost=0.00..0.02 rows=1 width=1) (actual time=0.001..0.001 rows=1 loops=1)

19. 0.000 0.000 ↑ 1.0 1 1

CTE Scan on basic_data basic_data_4 (cost=0.00..0.02 rows=1 width=1) (actual time=0.000..0.000 rows=1 loops=1)

20. 0.000 0.000 ↑ 1.0 1 1

CTE Scan on basic_data basic_data_5 (cost=0.00..0.02 rows=1 width=4) (actual time=0.000..0.000 rows=1 loops=1)

21. 0.001 0.001 ↑ 1.0 1 1

CTE Scan on basic_data basic_data_6 (cost=0.00..0.02 rows=1 width=1) (actual time=0.001..0.001 rows=1 loops=1)

22. 0.001 0.001 ↑ 1.0 1 1

CTE Scan on basic_data basic_data_7 (cost=0.00..0.02 rows=1 width=1) (actual time=0.000..0.001 rows=1 loops=1)

23. 0.000 0.000 ↑ 1.0 1 1

CTE Scan on basic_data basic_data_8 (cost=0.00..0.02 rows=1 width=516) (actual time=0.000..0.000 rows=1 loops=1)

24. 0.086 0.086 ↑ 1.0 1 1

CTE Scan on basic_data basic_data_9 (cost=0.00..0.02 rows=1 width=4) (actual time=0.066..0.086 rows=1 loops=1)

25. 0.951 45.989 ↓ 698.0 698 1

Nested Loop (cost=3.13..46.24 rows=1 width=1,000) (actual time=0.615..45.989 rows=698 loops=1)

  • Join Filter: (ca.restaurantid = cr.restaurantid)
26. 1.170 42.944 ↓ 698.0 698 1

Nested Loop (cost=2.84..45.92 rows=1 width=943) (actual time=0.608..42.944 rows=698 loops=1)

  • Join Filter: (ca.branchid = bd.branchid)
27. 1.125 39.677 ↓ 699.0 699 1

Nested Loop (cost=2.55..45.45 rows=1 width=843) (actual time=0.601..39.677 rows=699 loops=1)

28. 0.987 35.756 ↓ 699.0 699 1

Nested Loop (cost=2.13..37.00 rows=1 width=831) (actual time=0.591..35.756 rows=699 loops=1)

29. 1.012 33.371 ↓ 699.0 699 1

Nested Loop (cost=1.85..36.60 rows=1 width=827) (actual time=0.587..33.371 rows=699 loops=1)

30. 1.296 29.563 ↓ 699.0 699 1

Nested Loop (cost=1.43..28.15 rows=1 width=812) (actual time=0.581..29.563 rows=699 loops=1)

  • Join Filter: (ca.restaurantid = sl.referenceid)
31. 1.590 26.170 ↓ 699.0 699 1

Nested Loop (cost=1.14..27.58 rows=1 width=789) (actual time=0.574..26.170 rows=699 loops=1)

  • Join Filter: (ca.restaurantid = r.id)
32. 1.006 22.483 ↓ 699.0 699 1

Nested Loop (cost=0.85..26.58 rows=1 width=611) (actual time=0.566..22.483 rows=699 loops=1)

33. 5.442 19.380 ↓ 699.0 699 1

Nested Loop (cost=0.57..18.27 rows=1 width=587) (actual time=0.558..19.380 rows=699 loops=1)

  • Join Filter: (ca.deliverytime = tlb_deliverytimes.value)
  • Rows Removed by Join Filter: 19572
34. 1.477 6.948 ↓ 699.0 699 1

Nested Loop (cost=0.57..16.87 rows=1 width=151) (actual time=0.544..6.948 rows=699 loops=1)

35. 3.341 3.341 ↓ 710.0 710 1

Index Scan using tgb_coveragepolygon_polygongeo on tgb_coveragepolygon ca (cost=0.28..8.55 rows=1 width=44) (actual time=0.534..3.341 rows=710 loops=1)

  • Index Cond: (polygongeo && '0101000020E6100000915F3FC406FF4740D7DCD1FF72553D40'::geometry)
  • Filter: ((restaurantstatus <> 3) AND _st_intersects(polygongeo, '0101000020E6100000915F3FC406FF4740D7DCD1FF72553D40'::geometry))
  • Rows Removed by Filter: 1316
36. 2.130 2.130 ↑ 1.0 1 710

Index Scan using mwq_branch_pkey on mwq_branch b (cost=0.29..8.30 rows=1 width=107) (actual time=0.003..0.003 rows=1 loops=710)

  • Index Cond: (id = ca.branchid)
  • Filter: ((NOT isdeleted) AND (status <> 3))
  • Rows Removed by Filter: 0
37. 6.990 6.990 ↓ 3.6 29 699

Seq Scan on tlb_deliverytimes (cost=0.00..1.30 rows=8 width=438) (actual time=0.001..0.010 rows=29 loops=699)

  • Filter: ((NOT isdeleted) AND (NOT status))
  • Rows Removed by Filter: 1
38. 2.097 2.097 ↑ 1.0 1 699

Index Scan using tlb_restaurantbrand_resttid_brndid_idx on tlb_restaurant_brand brandrestaurant (cost=0.29..8.30 rows=1 width=24) (actual time=0.003..0.003 rows=1 loops=699)

  • Index Cond: ((restaurantid = ca.restaurantid) AND (brandtype = 1))
  • Filter: (isactive AND (NOT isdeleted))
39. 2.097 2.097 ↑ 1.0 1 699

Index Scan using mwq_restaurant_pkey on mwq_restaurant r (cost=0.29..0.98 rows=1 width=178) (actual time=0.003..0.003 rows=1 loops=699)

  • Index Cond: (id = brandrestaurant.restaurantid)
  • Filter: ((NOT isdeleted) AND (NOT isdeleted) AND (status <> 3) AND (status <> 3))
40. 2.097 2.097 ↑ 1.0 1 699

Index Scan using tlb_slug_referenceid_idx on tlb_slug sl (cost=0.29..0.56 rows=1 width=23) (actual time=0.003..0.003 rows=1 loops=699)

  • Index Cond: (referenceid = brandrestaurant.restaurantid)
  • Filter: ((NOT isdeleted) AND (typeid = 1) AND (brandtype = 1))
  • Rows Removed by Filter: 1
41. 2.796 2.796 ↑ 1.0 1 699

Index Scan using tgb_coveragepolygon_additional_pkey on tgb_coveragepolygon_additional cpa (cost=0.42..8.44 rows=1 width=23) (actual time=0.004..0.004 rows=1 loops=699)

  • Index Cond: (coveragepolygonid = ca.id)
42. 1.398 1.398 ↑ 1.0 1 699

Index Scan using mwq_area_pkey on mwq_area a (cost=0.28..0.39 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=699)

  • Index Cond: (id = b.areaid)
43. 2.796 2.796 ↑ 1.0 1 699

Index Scan using "tlb_RestLstDynmc_restid_areaid_brndtyp_idx" on tlb_restaurantlistdynamic rld (cost=0.42..8.45 rows=1 width=20) (actual time=0.004..0.004 rows=1 loops=699)

  • Index Cond: ((restid = ca.restaurantid) AND (areaid = ca.areaid) AND (brandtype = 1))
44. 2.097 2.097 ↑ 1.0 1 699

Index Scan using tlb_branchdetails_branchid_idx on tlb_branch_details bd (cost=0.29..0.45 rows=1 width=108) (actual time=0.003..0.003 rows=1 loops=699)

  • Index Cond: ((branchid = b.id) AND (brandtype = 1))
45. 2.094 2.094 ↑ 1.0 1 698

Index Scan using "tlb_CommonRestuarantFields_restid_idx" on tlb_commonrestuarantfields cr (cost=0.29..0.30 rows=1 width=77) (actual time=0.002..0.003 rows=1 loops=698)

  • Index Cond: (restaurantid = rld.restid)
46. 1.396 1.396 ↓ 0.0 0 698

Index Scan using "tlb_Sponsored_Restaurant_rest_area_brnd_idx" on tlb_sponsored_restaurant sp (cost=0.28..0.44 rows=1 width=8) (actual time=0.002..0.002 rows=0 loops=698)

  • Index Cond: ((r.id = restaurantid) AND (areaid = $13) AND (brandtype = 1))