| | 124 | [[Image(init_V7.png)]] |
| | 125 | |
| | 126 | Од анализата може да видиме дека претходните индекси се искористуваат и доведува до побрзо извршување. |
| | 127 | |
| | 128 | [[Image(analysis_V7.png)]] |
| | 129 | |
| | 130 | Сепак ако додадеме индекс на `coaching_team` можеме да постигнеме време на извршување од 1s 339ms. |
| | 131 | |
| | 132 | [[Image(indexes_V7.png)]] |
| | 133 | |
| | 134 | [[Image(result_V7.png)]] |
| | 135 | |
| | 136 | == Поглед 8: duel_history |
| | 137 | |
| | 138 | Овој поглед ни дава податоци за секој дуел: кога почнал, на која локација се изигрува, имиња на тимовите, освоени поени од тимовите, резултатот, црвени картони за тимовите, кои играчи играат во секој тим, и кои судии го судат дуелот. |
| | 139 | |
| | 140 | Иницијално квери трае повеќе од 8 минути, каде беше привремено прекинато. За ова квери ни треба оптимизирање. |
| | 141 | |
| | 142 | [[Image(init_V8.png)]] |
| | 143 | |
| | 144 | Од анализата можеме да видиме дека голем дел операции користат индекси, но на 4 места се извршува Full Scan на големи табели, што доведува до долгото време на извршување. |
| | 145 | |
| | 146 | [[Image(analysis_V8.png)]] |
| | 147 | |
| | 148 | Креирани се овие два индекси за табелите на кои им се извршува Full Scan. |
| | 149 | |
| | 150 | [[Image(indexes_V8.png)]] |
| | 151 | |
| | 152 | Со овие индекси добивме време на извршување 1s 113ms. |
| | 153 | |
| | 154 | [[Image(result_V8.png)]] |
| | 155 | |
| | 156 | == Поглед 9: get_red_cards |
| | 157 | |
| | 158 | Помошен поглед кој ги враќа сите играчи што добиле црвен картон за секој дуел. Враќа податоци за дуелот (id, имиња на тимовите, спортска категорија и натпреварот) и информации за играчот (име, за кој тим игра, кога почнал, кога излегол од играта и колку минути пропуштил). |
| | 159 | |
| | 160 | Иницијалното време на извршување квери е 20ms. |
| | 161 | |
| | 162 | [[Image(init_V9.png)]] |
| | 163 | |
| | 164 | Од анализата можеме да видиме дека во скоро сите операции се користи индекс. Единствената табела каде што се има Full Scan е `sport_category`, но бидејќи табелата има малку редици индексирање нема да доведе до поголемо подобрување. |
| | 165 | |
| | 166 | [[Image(analysis_V9.png)]] |
| | 167 | |
| | 168 | == Поглед 10: player_career_history |
| | 169 | |
| | 170 | Овој поглед враќа податоци за сите договори кој склучил спортист. Го враќа ЕМБГ на спортистот, името, датум на раѓање, национална припадност, спортска категорија, име на клубот со кој склучува договр, државата на клубот, почеток и крај на договорот, и статус на договорот. |
| | 171 | |
| | 172 | Иницијалната имплементација извршува за 881ms. |
| | 173 | |
| | 174 | [[Image(init_V10.png)]] |
| | 175 | |
| | 176 | Од анализата може да видиме дека има 2 табели што се извршуваат со Full Scan: `country` и `sportsperson_contract`. Табелата за држави е мала, зато кај неа индексирање нема да врати многу подобрувања во перформанси, но табелата за договори и треба. |
| | 177 | |
| | 178 | [[Image(analysis_V10.png)]] |
| | 179 | |
| | 180 | По креирање на индексот гледаме дека има минимално забрзување на брзината, односно ни се намали на 18ms. Затоа овој индекс нема да се користи. |
| | 181 | |
| | 182 | [[Image(indexes_V10.png)]] |
| | 183 | |
| | 184 | [[Image(result_V10.png)]] |