== Query Optimization == View 1: Live offers for customer 1. Примарен случај на употреба на овој поглед е за добивање на моменталните активни понуди за еден корисник при побарување на такси. 2. Примарен филтер за овој поглед е атрибутот customer_id во релацијата offer 3. Иницијално време на извршување на погледот е 1s и 533ms [[Image(1.png, width=820px)]] Ова време е задоволително (помало од 3 секунди), па затоа не е потребно да се извршува оптимизирање на прашалникот. 4. Нема потреба од правење на план за извршување поради тоа што времето е задоволително. 5. Иницијалното време за insert и update во табелата offer е: [[Image(2.png, width=820px)]] [[Image(3.png, width=820px)]] 6. Нема потреба да се преуреди прашалникот 7. Времето на извршување на операциите останува исто == View 2: Available drivers 1. Примарен случај на употреба на овој поглед е за добивање на слободните возачи во моментот за дадена компанија. 2. Примарен филтер за овој поглед е атрибутот company_id во релацијата employmenthistory. 3. Иницијално време на извршување на погледот е 3s и 982ms: [[Image(4.png, width=820px)]] Ова време не е прифатливо за нашата апликација, па затоа пристапуваме кон индексизање за оптимизација на прашалникот 4. Најскапи операции се full scan на табелата ride и driver_vehicle: [[Image(5.png, width=820px)]] 5. Иницијалното време на insert и update во ride и driver_vehicle е: [[Image(6.png, width=820px)]] [[Image(7.png, width=820px)]] [[Image(8.png, width=820px)]] [[Image(9.png, width=820px)]] 6.Времето потребно за извршување на прашалникот после вметнување на индекс на customerpreferences по атрибутот company_id изнесува 984ms што е прифатливо време: [[Image(10.png, width=820px)]] [[Image(11.png, width=820px)]] [[Image(12.png, width=820px)]] 7. Времето потребно за извршување на insert и update во ride и driver_vehicle изнесува: [[Image(13.png, width=820px)]] [[Image(14.png, width=820px)]] [[Image(15.png, width=820px)]] [[Image(16.png, width=820px)]]