| 98 | | == Тестирање на перформанси == |
| 99 | | |
| 100 | | „Пред индексирање“ и „по индексирање“ ги означуваат групите наведени како „без индекси“ и „со индекси“ во евиденцијата. Точниот сет присутни индекси во секоја група не е евидентиран; „без индекси“ не потврдува отсуство на индекси од примарни и уникатни клучеви. |
| 101 | | |
| 102 | | Наведените времиња се клиентски мерења од DBeaver, а не серверските Planning Time и Execution Time од EXPLAIN ANALYZE. Нема приложени планови, типови на скенирање или податоци за баферите. Вредностите се во милисекунди (ms). |
| 103 | | |
| 104 | | === Измерен прашалник === |
| 105 | | |
| 106 | | {{{ |
| 107 | | #!sql |
| 108 | | SELECT * FROM kbnteam.v_contracts_revenue |
| 109 | | WHERE company_id = 250; |
| 110 | | }}} |
| 111 | | |
| 112 | | === Резултати пред индексирање === |
| 113 | | |
| 114 | | ||= Метрика ||= Измерен резултат || |
| 115 | | || Клиентско време (ms) || 2555 || |
| 116 | | || Приказ на мерењето || Време прикажано со резултатот во DBeaver || |
| 117 | | || Прикажани / преземени редови || 0 || |
| 118 | | || Planning Time / Execution Time од EXPLAIN || Не се измерени || |
| 119 | | || План, тип на скенирање и бафери || Не се приложени || |
| 120 | | |
| 121 | | === Дополнителни и заеднички индекси === |
| | 98 | == Индексна поддршка == |
| 181 | | === Анализа на резултатите === |
| 182 | | |
| 183 | | ||= Метрика ||= Пред ||= По ||= Промена на времето || |
| 184 | | || Клиентско време (ms) || 2555 || 1966 || -23,1% || |
| 185 | | |
| 186 | | Времето е пократко за 589 ms (23,1%), но двата теста враќаат празен резултат. Од ова не може да се оцени перформансата на извештај што враќа договори и приходи. Потребно е дополнително мерење за компанија со соодветни податоци. |
| 187 | | |
| 188 | | Промената се пресметува како 100 × (време по - време пред) / време пред. Негативна вредност значи пократко време, а позитивна подолго време. Процентот ја опишува разликата меѓу прикажаните вредности. |
| 189 | | |
| 190 | | Ова се поединечни набљудувања. Не се евидентирани контролирани повторувања, исти услови за кеширање и оптоварување или точните дефиниции на присутните индекси. Затоа промената на времето не е доказ дека индексите се единствената причина. Не се приложени мерења за INSERT, UPDATE и DELETE. |
| 191 | | |
| 192 | | === Дополнително тестирање - сè уште неизмерено === |
| 193 | | |
| 194 | | Следниот прашалник служи за ново мерење на серверскиот план со истиот филтер. Неговите резултати не се пополнети со клиентските времиња наведени погоре. За споредба се задржуваат исти податоци и поставки, се евидентираат присутните индекси, се ажурираат статистиките и се прават повеќе повторувања во двете состојби. Се споредуваат медијаната на времињата и плановите. |
| | 153 | Мерењата се евидентирани во DBeaver. Времињата се во милисекунди (ms). |
| 208 | | ||= Метрика за дополнителното тестирање ||= Пред ||= По || |
| 209 | | || Planning Time (ms) || Не е измерено || Не е измерено || |
| 210 | | || Execution Time (ms) || Не е измерено || Не е измерено || |
| 211 | | || Тип на скенирање по табела || Не е евидентиран || Не е евидентиран || |
| 212 | | || Shared Hit Blocks / Shared Read Blocks || Не се измерени || Не се измерени || |
| | 161 | ||= Метрика ||= Пред индексирање ||= По индексирање || |
| | 162 | || Клиентско време (ms) || 2555 || 1966 || |
| | 163 | || Вратени редови || 0 || 0 || |
| | 164 | |
| | 165 | Измереното време е пократко за 589 ms, односно 23,1%. Двете извршувања враќаат нула редови, па резултатот се однесува на овој конкретен филтер. |
| | 166 | |
| | 167 | === INSERT и UPDATE === |
| | 168 | |
| | 169 | Тестирани се по еден INSERT и еден UPDATE врз `kbnteam.contract`, главната табела на погледот. Се тестира додавање договор и продолжување на неговиот рок. |
| | 170 | |
| | 171 | ||= Операција ||= Execute (ms) ||= Fetch (ms) ||= Вратени редови || |
| | 172 | || INSERT || 14 || 13 || 1 || |
| | 173 | || UPDATE || 13 || 14 || 1 || |
| | 174 | |
| | 175 | Execute е времето на извршување прикажано во DBeaver. Fetch вредностите се преземени од дополнетата евиденција на тестирањето. Ова се клиентски времиња, изразени во милисекунди. |
| | 176 | |
| | 177 | Двете операции се успешни и враќаат по еден ред преку RETURNING. По мерењето промените се вратени со ROLLBACK. |
| | 178 | |
| | 179 | INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање. |