| Version 14 (modified by , 6 days ago) ( diff ) |
|---|
Query Optimization
View 1: Live offers for customer
- Примарен случај на употреба на овој поглед е за добивање на моменталните активни понуди за еден корисник при побарување на такси.
- Примарен филтер за овој поглед е атрибутот customer_id во релацијата offer
- Иницијално време на извршување на погледот е 1s и 533ms
Ова време е задоволително (помало од 3 секунди), па затоа не е потребно да се извршува оптимизирање на прашалникот.
- Нема потреба од правење на план за извршување поради тоа што времето е задоволително.
- Иницијалното време за insert и update во табелата offer е:
- Нема потреба да се преуреди прашалникот
- Времето на извршување на операциите останува исто
View 2: Available drivers
- Примарен случај на употреба на овој поглед е за добивање на слободните возачи во моментот за дадена компанија.
- Примарен филтер за овој поглед е атрибутот company_id во релацијата employmenthistory.
- Иницијално време на извршување на погледот е 3s и 982ms:
Ова време не е прифатливо за нашата апликација, па затоа пристапуваме кон индексизање за оптимизација на прашалникот
- Најскапи операции се full scan на табелата ride и driver_vehicle:
- Иницијалното време на insert и update во ride и driver_vehicle е:
6.Времето потребно за извршување на прашалникот после вметнување на индекс на customerpreferences по атрибутот company_id изнесува 984ms што е прифатливо време:
- Времето потребно за извршување на insert и update во ride и driver_vehicle изнесува:
View 3: Unassigned requests
- Примарен случај на употреба овој поглед ќе се користи за добивање на недоделените барања за такси од страна на компаниите во зависност од преференците на корисниците.
- Примаре филтер би бил атрибутот company_id во customerpreference релацијата.
- Иницијалното извршување на погледот е 5s и 109ms:
Ова време е неприфатливо за апликацијата па затоа извршуваме оптимизирање со користење на индексирање.
- Најскапи операции се full scan на табелите request и customerpreference:
- Иницијалното време на insert и update на табелата requests е:
- Времето потребно за извршување на прашалникот после вметнување на индекс на customerpreferences по атрибутот company_id изнесува 702ms што е прифатливо време:
- Времето потребно за извршување на insert и update во request после индексирање:
- И покрај тоа што се справивме со full scan на табелата ride сеуште времето е незадоволително. Па затоа за подобрување на перформансите прашалникот може да се реструктуира така што ќе се користи limit и offset за имплементација на пагинација при користење на апликацијата:
Овој поглед во иднина ќе биде оптимизиран со помош на PostGIS така што ќе се земаат барања во радиус од неколку километри и бројот на редици ќе се намали, а со тоа и потребното време за извршување.
View 4: Customer payments for rides
- Примарен случај на употреба на погледот customer_payments_ride е добивање на извештај за сите уплати за возења кои еден корисник ги извршил.
- Примарен филтер за овој поглед е атрибутот user_id од релацијата Customer.
- Иницијално време на извршување на пребарување во погледот customer_payments_ride е 925ms.
- Времето на извршување е задоволително и нема потреба од дополнително оптимизирање. Се зема во предвид и фактот дека корисниците кои ќе ја користат апликацијата најверојатно ретко ќе бараат увид во сите нивни плаќања.
- Иницијално време на внес на нов запис во табелата Payment е 461ms.
- Сметаме дека времето е доволно брзо за insert операција во табелата Payment, од таа причина нема потреба од индексирање.
View 5: Reviews on drivers
- Примарен случај на употреба на погледот reviews_on_drivers е добивање на преглед на сите оценки и коментари кои биле оставени за еден возач.
- Примарен филтер на овој поглед е атрибутот user_id од релацоијата Driver.
- Време на извршување на едно пребарување врз погледот е 1s 656ms. Во продолжение е даден планот за извршување на прашалникот и информации за секоја од операциите.
- Времето на извршување е задоволително и нема потреба од дополнително оптимизирање.
- Иницијално време за внес на нови вредности во табелата Review e 725ms.
- Ова време е прифатливо за корисниците кои за едно возење смеат да остават само еден review.
View 6: Reports on drivers during rides
Attachments (62)
- 1.png (19.8 KB ) - added by 3 weeks ago.
- 2.png (32.2 KB ) - added by 3 weeks ago.
- 3.png (12.6 KB ) - added by 3 weeks ago.
- 4.png (28.5 KB ) - added by 3 weeks ago.
- 5.png (139.7 KB ) - added by 3 weeks ago.
- 6.png (24.6 KB ) - added by 3 weeks ago.
- 7.png (13.5 KB ) - added by 3 weeks ago.
- 8.png (18.7 KB ) - added by 3 weeks ago.
- 9.png (13.3 KB ) - added by 3 weeks ago.
- 10.png (13.5 KB ) - added by 3 weeks ago.
- 11.png (28.6 KB ) - added by 3 weeks ago.
- 12.png (111.9 KB ) - added by 3 weeks ago.
- 13.png (25.2 KB ) - added by 3 weeks ago.
- 14.png (13.0 KB ) - added by 3 weeks ago.
- 15.png (18.5 KB ) - added by 3 weeks ago.
- 16.png (13.7 KB ) - added by 3 weeks ago.
- 17.png (26.3 KB ) - added by 3 weeks ago.
- 18.png (69.9 KB ) - added by 3 weeks ago.
- 19.png (40.4 KB ) - added by 3 weeks ago.
- 20.png (14.1 KB ) - added by 3 weeks ago.
- 21.png (7.5 KB ) - added by 3 weeks ago.
- 22.png (26.3 KB ) - added by 3 weeks ago.
- 23.png (70.1 KB ) - added by 3 weeks ago.
- 24.png (40.5 KB ) - added by 3 weeks ago.
- 25.png (14.2 KB ) - added by 3 weeks ago.
- 26.png (29.0 KB ) - added by 3 weeks ago.
-
view1k.jpg
(22.2 KB
) - added by 6 days ago.
View customer_payment_ride
-
optimization1k.jpg
(11.0 KB
) - added by 6 days ago.
Time for query on view customer_payments_ride
-
optimization2k.jpg
(7.8 KB
) - added by 6 days ago.
Time for insert in Payment
-
view2k.png
(18.4 KB
) - added by 6 days ago.
View reviews_on_drivers
-
optimization3k.png
(27.3 KB
) - added by 6 days ago.
Time for query on view reviews_on_drivers
-
optimization4k.jpg.png
(25.5 KB
) - added by 6 days ago.
Time for insert in Review
-
analyze1k.png
(116.1 KB
) - added by 6 days ago.
Query plan
-
analyze2k.png
(53.5 KB
) - added by 6 days ago.
Query execution
-
view3k.png
(56.8 KB
) - added by 6 days ago.
View reports_on_drivers_rides
-
optimization5k.png
(31.9 KB
) - added by 6 days ago.
Time for query on view reports_on_drivers_rides
-
optimization6k.png
(23.7 KB
) - added by 6 days ago.
Time for insert into Report
- analyze3k.png (125.4 KB ) - added by 6 days ago.
- analyze4k.png (61.6 KB ) - added by 6 days ago.
- advdb 1.png (11.3 KB ) - added by 4 days ago.
- advdb 2.png (77.9 KB ) - added by 4 days ago.
- advdb 3.png (29.2 KB ) - added by 4 days ago.
- advdb 4.png (7.9 KB ) - added by 4 days ago.
- advdb 10.png (11.8 KB ) - added by 4 days ago.
- advdb 5.png (11.1 KB ) - added by 4 days ago.
- advdb 6.png (83.3 KB ) - added by 4 days ago.
- advdb 7.png (29.2 KB ) - added by 4 days ago.
- advdb 11.png (41.9 KB ) - added by 4 days ago.
- advdb 12.png (12.7 KB ) - added by 4 days ago.
- advdb 13.png (10.7 KB ) - added by 4 days ago.
- advdb 14.png (5.7 KB ) - added by 4 days ago.
- advdb 15.png (11.8 KB ) - added by 4 days ago.
- advdb 16.png (37.4 KB ) - added by 4 days ago.
- advdb 17.png (12.9 KB ) - added by 4 days ago.
- advdb 18.png (10.8 KB ) - added by 4 days ago.
- advdb 19.png (11.9 KB ) - added by 4 days ago.
- advdb 20.png (76.7 KB ) - added by 4 days ago.
- advdb 21.png (33.3 KB ) - added by 4 days ago.
- advdb 22.png (6.8 KB ) - added by 4 days ago.
- advdb 23.png (14.3 KB ) - added by 4 days ago.
- advdb 24.png (79.8 KB ) - added by 4 days ago.
- advdb 25.png (33.6 KB ) - added by 4 days ago.







































