| | 6 | |
| | 7 | = Фаза 3 – Оптимизација на прашалници и погледи |
| | 8 | |
| | 9 | == Документ за оптимизација |
| | 10 | |
| | 11 | [[html(<a href="https://develop.finki.ukim.mk/projects/public_transport_system/attachment/wiki/Optimization/optimizacija.pdf">optimizacija.pdf</a>)]] |
| | 12 | |
| | 13 | == Оптимизирани Views |
| | 14 | |
| | 15 | === driver_shift_info |
| | 16 | |
| | 17 | Погледот се користи за приказ на информации за смените на даден возач, заедно со автобусот, распоредот и линијата. |
| | 18 | |
| | 19 | * Примарен филтер: verification_code |
| | 20 | * Почетно време: 7528.971 ms |
| | 21 | * Оптимизирано време: 147.643 ms |
| | 22 | |
| | 23 | Додадени индекси: |
| | 24 | |
| | 25 | * idx_line_assignment_schedule_id |
| | 26 | * idx_line_assignment_chassis_number |
| | 27 | * idx_schedule_line_id |
| | 28 | |
| | 29 | === line_info |
| | 30 | |
| | 31 | Погледот се користи за приказ на активна автобуска линија заедно со почетна и крајна станица. |
| | 32 | |
| | 33 | * Примарен филтер: line_number |
| | 34 | * Време на извршување: 0.322 ms |
| | 35 | |
| | 36 | Не беше потребна дополнителна оптимизација. |
| | 37 | |
| | 38 | === payments_info |
| | 39 | |
| | 40 | Погледот се користи за приказ на плаќања според статус и тип на плаќање. |
| | 41 | |
| | 42 | * Примарен филтер: payment_status = 'Completed' |
| | 43 | * Време на извршување: 1487 ms |
| | 44 | |
| | 45 | Не беше потребно дополнително индексирање. |
| | 46 | |
| | 47 | === line_stations |
| | 48 | |
| | 49 | Погледот се користи за приказ на сите станици низ кои поминува дадена линија. |
| | 50 | |
| | 51 | * Примарен филтер: line_number |
| | 52 | * SELECT време: 0.590 ms |
| | 53 | * INSERT време: 1733.457 ms |
| | 54 | * UPDATE време: 421.400 ms |
| | 55 | |
| | 56 | === station_info |
| | 57 | |
| | 58 | Погледот се користи за приказ на информации за станица и активните линии. |
| | 59 | |
| | 60 | * Примарен филтер: station_name |
| | 61 | * SELECT време: 145.144 ms |
| | 62 | * INSERT време: 807.786 ms |
| | 63 | * UPDATE време: 19810.098 ms |
| | 64 | |
| | 65 | Execution plan покажува користење на постоечки индекси. |
| | 66 | |
| | 67 | === admin_info |
| | 68 | |
| | 69 | Погледот се користи за приказ на активности поврзани со администратор. |
| | 70 | |
| | 71 | * Примарен филтер: verification_code |
| | 72 | * Почетно време: 6881.689 ms |
| | 73 | * Оптимизирано време: 1450.234 ms |
| | 74 | |
| | 75 | Дополнителни тестирања: |
| | 76 | |
| | 77 | * INSERT: 307.9 ms |
| | 78 | * UPDATE: 41.553 ms |
| | 79 | |
| | 80 | === ticket_info |
| | 81 | |
| | 82 | Погледот се користи за приказ на информации за билети според тип на корисник. |
| | 83 | |
| | 84 | * Примарен филтер: type = 'Student' |
| | 85 | * SELECT време: 7.030 ms |
| | 86 | * INSERT време: 172.295 ms |
| | 87 | * UPDATE време: 0.260 ms |
| | 88 | |
| | 89 | === bus_service_history |
| | 90 | |
| | 91 | Погледот се користи за приказ на сервисна историја на автобус. |
| | 92 | |
| | 93 | * Примарен филтер: registration_number |
| | 94 | * SELECT време: 1.371 ms |
| | 95 | * INSERT време: 1.931 ms |
| | 96 | * UPDATE време: 0.241 ms |
| | 97 | |
| | 98 | === monthly_ticket_sales |
| | 99 | |
| | 100 | Погледот се користи за месечен преглед на продадени билети и приходи. |
| | 101 | |
| | 102 | * Примарен филтер: payment_month = '2025-02-01' |
| | 103 | * Почетно време: 199499.209 ms |
| | 104 | * Оптимизирано време: 0.038 ms |
| | 105 | |
| | 106 | Користен е materialized view: |
| | 107 | |
| | 108 | * monthly_ticket_sales_mv |
| | 109 | |
| | 110 | Дополнителни тестирања: |
| | 111 | |
| | 112 | * INSERT: 359.437 ms |
| | 113 | * UPDATE: 136.430 ms |