explain.depesz.com

PostgreSQL's explain analyze made readable

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

Settings

Optimization path:

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 5.198 50.734 ↓ 698.0 698 1

Nested Loop Left Join (cost=26.07..68.19 rows=1 width=1,515) (actual time=0.766..50.734 rows=698 loops=1)

2.          

CTE basic_data

3. 0.005 0.080 ↑ 1.0 1 1

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

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

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

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

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

6. 0.001 0.048 ↑ 1.0 1 1

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

7. 0.001 0.045 ↑ 1.0 1 1

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

8. 0.041 0.041 ↑ 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.038..0.041 rows=1 loops=1)

  • Index Cond: (polygongeo && '0101000020E6100000915F3FC406FF4740D7DCD1FF72553D40'::geometry)
  • Filter: _st_intersects(polygongeo, '0101000020E6100000915F3FC406FF4740D7DCD1FF72553D40'::geometry)
  • Rows Removed by Filter: 1
9. 0.003 0.003 ↑ 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.003..0.003 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.002..0.002 rows=1 loops=1)

  • Index Cond: (id = a_1.cityid)
11. 0.002 0.002 ↑ 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.002..0.002 rows=1 loops=1)

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

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

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

Seq Scan on tgb_featurecountry fc2 (cost=0.00..1.70 rows=7 width=5) (actual time=0.003..0.008 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.001 0.001 ↑ 1.0 1 1

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

17. 0.001 0.001 ↑ 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.001 rows=1 loops=1)

18. 0.000 0.000 ↑ 1.0 1 1

CTE Scan on basic_data basic_data_3 (cost=0.00..0.02 rows=1 width=1) (actual time=0.000..0.000 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.001 0.001 ↑ 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.001 rows=1 loops=1)

21. 0.000 0.000 ↑ 1.0 1 1

CTE Scan on basic_data basic_data_6 (cost=0.00..0.02 rows=1 width=1) (actual time=0.000..0.000 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.083 0.083 ↑ 1.0 1 1

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

25. 0.965 44.052 ↓ 698.0 698 1

Nested Loop (cost=4.54..46.46 rows=1 width=1,000) (actual time=0.635..44.052 rows=698 loops=1)

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

Nested Loop (cost=4.26..46.14 rows=1 width=943) (actual time=0.628..40.993 rows=698 loops=1)

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

Nested Loop (cost=3.97..45.67 rows=1 width=843) (actual time=0.621..37.751 rows=699 loops=1)

28. 1.029 33.897 ↓ 699.0 699 1

Nested Loop (cost=3.55..37.22 rows=1 width=831) (actual time=0.612..33.897 rows=699 loops=1)

29. 0.915 31.470 ↓ 699.0 699 1

Nested Loop (cost=3.27..36.82 rows=1 width=827) (actual time=0.609..31.470 rows=699 loops=1)

30. 1.280 27.759 ↓ 699.0 699 1

Nested Loop (cost=2.85..28.37 rows=1 width=812) (actual time=0.602..27.759 rows=699 loops=1)

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

Nested Loop (cost=2.56..27.80 rows=1 width=789) (actual time=0.595..24.382 rows=699 loops=1)

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

Nested Loop (cost=2.27..26.80 rows=1 width=611) (actual time=0.587..20.743 rows=699 loops=1)

33. 5.767 17.669 ↓ 699.0 699 1

Nested Loop (cost=1.99..18.49 rows=1 width=587) (actual time=0.580..17.669 rows=699 loops=1)

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

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

35. 3.343 3.343 ↓ 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.529..3.343 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.840 2.840 ↑ 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.004 rows=1 loops=710)

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

Sort (cost=1.42..1.44 rows=8 width=440) (actual time=0.000..0.007 rows=29 loops=699)

  • Sort Key: tlb_deliverytimes.value
  • Sort Method: quicksort Memory: 27kB
38. 0.016 0.016 ↓ 3.6 29 1

Seq Scan on tlb_deliverytimes (cost=0.00..1.30 rows=8 width=440) (actual time=0.005..0.016 rows=29 loops=1)

  • Filter: ((NOT isdeleted) AND (NOT status))
  • Rows Removed by Filter: 1
39. 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))
40. 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))
41. 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
42. 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)
43. 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)
44. 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))
45. 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))
46. 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)
47. 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))