= Оптимизација на прашалници и погледи
== DDL скрипта за креирање на табелите
[[html(optimizacija.pdf)]]
= Фаза 3 – Оптимизација на прашалници и погледи
== Документ за оптимизација
[[html(optimizacija.pdf)]]
== Оптимизирани Views
=== driver_shift_info
Погледот се користи за приказ на информации за смените на даден возач, заедно со автобусот, распоредот и линијата.
* Примарен филтер: verification_code
* Почетно време: 7528.971 ms
* Оптимизирано време: 147.643 ms
Додадени индекси:
* idx_line_assignment_schedule_id
* idx_line_assignment_chassis_number
* idx_schedule_line_id
=== line_info
Погледот се користи за приказ на активна автобуска линија заедно со почетна и крајна станица.
* Примарен филтер: line_number
* Време на извршување: 0.322 ms
Не беше потребна дополнителна оптимизација.
=== payments_info
Погледот се користи за приказ на плаќања според статус и тип на плаќање.
* Примарен филтер: payment_status = 'Completed'
* Време на извршување: 1487 ms
Не беше потребно дополнително индексирање.
=== line_stations
Погледот се користи за приказ на сите станици низ кои поминува дадена линија.
* Примарен филтер: line_number
* SELECT време: 0.590 ms
* INSERT време: 1733.457 ms
* UPDATE време: 421.400 ms
=== station_info
Погледот се користи за приказ на информации за станица и активните линии.
* Примарен филтер: station_name
* SELECT време: 145.144 ms
* INSERT време: 807.786 ms
* UPDATE време: 19810.098 ms
Execution plan покажува користење на постоечки индекси.
=== admin_info
Погледот се користи за приказ на активности поврзани со администратор.
* Примарен филтер: verification_code
* Почетно време: 6881.689 ms
* Оптимизирано време: 1450.234 ms
Дополнителни тестирања:
* INSERT: 307.9 ms
* UPDATE: 41.553 ms
=== ticket_info
Погледот се користи за приказ на информации за билети според тип на корисник.
* Примарен филтер: type = 'Student'
* SELECT време: 7.030 ms
* INSERT време: 172.295 ms
* UPDATE време: 0.260 ms
=== bus_service_history
Погледот се користи за приказ на сервисна историја на автобус.
* Примарен филтер: registration_number
* SELECT време: 1.371 ms
* INSERT време: 1.931 ms
* UPDATE време: 0.241 ms
=== monthly_ticket_sales
Погледот се користи за месечен преглед на продадени билети и приходи.
* Примарен филтер: payment_month = '2025-02-01'
* Почетно време: 199499.209 ms
* Оптимизирано време: 0.038 ms
Користен е materialized view:
* monthly_ticket_sales_mv
Дополнителни тестирања:
* INSERT: 359.437 ms
* UPDATE: 136.430 ms