Changes between Version 2 and Version 3 of AdvancedConcepts


Ignore:
Timestamp:
06/15/26 19:15:01 (33 hours ago)
Author:
231119
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedConcepts

    v2 v3  
    4848
    4949create index idx_area_coverage_polygon on area using gist (coverage_polygon);
     50}}}
    5051
     522. Просторно филтрирање на барања (Spatial Join)
     53За ефикасно поврзување на патниците со релевантните такси компании, креиран е нов поглед кој користи просторно спојување (Spatial Join). Преку функцијата ST_Contains, погледот проверува дали почетната локација на патникот (start_location) се наоѓа во рамките на полигонот на покриеност на компанијата (coverage_polygon). Овој пристап е многу поефикасен од пресметување на растојанија. Ова е оптимизацијата која ги подобрува перформансите на погледот vw_unassigned_requests спомнат во делот за QueryOptimization каде почетно беше решено со пагинација на барањата, а бо случајот се земаат помал број на барања поради тоа што ќе се земат само барања кои се наоѓаат во одреден радиус.
     54
     55{{{
     56create or replace view vw_company_available_requests as
     57select distinct
     58       r.id as request_id,
     59       r.customer_user_id,
     60       cus.username as customer_username,
     61       r.timestamp,
     62       r.number_of_adult_passengers,
     63       r.number_of_children,
     64       r.status,
     65       r.female_driver,
     66       r.luggage,
     67       r.luggage_count,
     68       r.baby_seat_count,
     69       ca.company_id
     70from request r
     71         join AppUser cus on r.customer_user_id = cus.id
     72         join area a on ST_Contains(a.coverage_polygon, r.start_location)
     73         join company_area ca on a.id = ca.area_id
     74where r.status = 'pending';
    5175}}}