| | 53 | |
| | 54 | == View 3: Unassigned requests |
| | 55 | |
| | 56 | 1. Примарен случај на употреба овој поглед ќе се користи за добивање на недоделените барања за такси од страна на компаниите во зависност од преференците на корисниците. |
| | 57 | 2. Примаре филтер би бил атрибутот company_id во customerpreference релацијата. |
| | 58 | 3. Иницијалното извршување на погледот е 5s и 109ms: |
| | 59 | |
| | 60 | [[Image(17.png, width=820px)]] |
| | 61 | |
| | 62 | Ова време е неприфатливо за апликацијата па затоа извршуваме оптимизирање со користење на индексирање. |
| | 63 | 4. Најскапи операции се full scan на табелите request и customerpreference: |
| | 64 | |
| | 65 | [[Image(18.png, width=820px)]] |
| | 66 | |
| | 67 | 5. Иницијалното време на insert и update на табелата requests е: |
| | 68 | |
| | 69 | [[Image(19.png, width=820px)]] |
| | 70 | [[Image(20.png, width=820px)]] |
| | 71 | |
| | 72 | 6. Времето потребно за извршување на прашалникот после вметнување на индекс на customerpreferences по атрибутот company_id изнесува 702ms што е прифатливо време: |
| | 73 | |
| | 74 | [[Image(21.png, width=820px)]] |
| | 75 | [[Image(22.png, width=820px)]] |
| | 76 | [[Image(23.png, width=820px)]] |
| | 77 | |
| | 78 | 7. Времето потребно за извршување на insert и update во request после индексирање: |
| | 79 | |
| | 80 | [[Image(24.png, width=820px)]] |
| | 81 | [[Image(25.png, width=820px)]] |
| | 82 | |
| | 83 | 8. И покрај тоа што се справивме со full scan на табелата ride сеуште времето е незадоволително. Па затоа за подобрување на перформансите прашалникот може да се реструктуира така што ќе се користи limit и offset за имплементација на пагинација при користење на апликацијата: |
| | 84 | |
| | 85 | [[Image(26.png, width=820px)]] |
| | 86 | |
| | 87 | Овој поглед во иднина ќе биде оптимизиран со помош на PostGIS така што ќе се земаат барања во радиус од неколку километри и бројот на редици ќе се намали, а со тоа и потребното време за извршување. |