| 113 | | == Тестирање на перформанси == |
| 114 | | |
| 115 | | „Пред индексирање“ и „по индексирање“ ги означуваат групите наведени како „без индекси“ и „со индекси“ во евиденцијата. Точниот сет присутни индекси во секоја група не е евидентиран; „без индекси“ не потврдува отсуство на индекси од примарни и уникатни клучеви. |
| 116 | | |
| 117 | | Наведените времиња се клиентски мерења од DBeaver, а не серверските Planning Time и Execution Time од EXPLAIN ANALYZE. Нема приложени планови, типови на скенирање или податоци за баферите. Вредностите се во милисекунди (ms). |
| 118 | | |
| 119 | | === Измерен прашалник === |
| 120 | | |
| 121 | | {{{ |
| 122 | | #!sql |
| 123 | | SELECT * FROM kbnteam.v_orders_full |
| 124 | | WHERE customer_user_id = 1202947 AND order_total >= 40; |
| 125 | | }}} |
| 126 | | |
| 127 | | === Резултати пред индексирање === |
| 128 | | |
| 129 | | ||= Метрика ||= Измерен резултат || |
| 130 | | || Клиентско време (ms) || 2598 || |
| 131 | | || Приказ на мерењето || Време прикажано со резултатот во DBeaver || |
| 132 | | || Прикажани / преземени редови || 1 || |
| 133 | | || Planning Time / Execution Time од EXPLAIN || Не се измерени || |
| 134 | | || План, тип на скенирање и бафери || Не се приложени || |
| 135 | | |
| 136 | | === Дополнителни и заеднички индекси === |
| | 113 | == Индексна поддршка == |
| 201 | | === Анализа на резултатите === |
| 202 | | |
| 203 | | ||= Метрика ||= Пред ||= По ||= Промена на времето || |
| 204 | | || Клиентско време (ms) || 2598 || 2591 || -0,3% || |
| 205 | | |
| 206 | | Времето е пократко само за 7 ms (0,3%). Едно вакво мерење не покажува значајно практично забрзување. Измерениот услов е по клиент и минимален износ, без датумски опсег. |
| 207 | | |
| 208 | | Промената се пресметува како 100 × (време по - време пред) / време пред. Негативна вредност значи пократко време, а позитивна подолго време. Процентот ја опишува разликата меѓу прикажаните вредности. |
| 209 | | |
| 210 | | Ова се поединечни набљудувања. Не се евидентирани контролирани повторувања, исти услови за кеширање и оптоварување или точните дефиниции на присутните индекси. Затоа промената на времето не е доказ дека индексите се единствената причина. Не се приложени мерења за INSERT, UPDATE и DELETE. |
| 211 | | |
| 212 | | === Дополнително тестирање - сè уште неизмерено === |
| 213 | | |
| 214 | | Следниот прашалник служи за ново мерење на серверскиот план со истиот филтер. Неговите резултати не се пополнети со клиентските времиња наведени погоре. За споредба се задржуваат исти податоци и поставки, се евидентираат присутните индекси, се ажурираат статистиките и се прават повеќе повторувања во двете состојби. Се споредуваат медијаната на времињата и плановите. |
| | 173 | Мерењата се евидентирани во DBeaver. Времињата се во милисекунди (ms). |
| 228 | | ||= Метрика за дополнителното тестирање ||= Пред ||= По || |
| 229 | | || Planning Time (ms) || Не е измерено || Не е измерено || |
| 230 | | || Execution Time (ms) || Не е измерено || Не е измерено || |
| 231 | | || Тип на скенирање по табела || Не е евидентиран || Не е евидентиран || |
| 232 | | || Shared Hit Blocks / Shared Read Blocks || Не се измерени || Не се измерени || |
| | 181 | ||= Метрика ||= Пред индексирање ||= По индексирање || |
| | 182 | || Клиентско време (ms) || 2598 || 2591 || |
| | 183 | || Вратени редови || 1 || 1 || |
| | 184 | |
| | 185 | Разликата е 7 ms, односно 0,3% пократко време. Во ова мерење нема значајна промена. |
| | 186 | |
| | 187 | === INSERT и UPDATE === |
| | 188 | |
| | 189 | Тестирани се по еден INSERT и еден UPDATE врз `kbnteam.customer_order`, главната табела на погледот. Се тестира додавање нарачка и поместување на времето на нарачката. |
| | 190 | |
| | 191 | ||= Операција ||= Execute (ms) ||= Fetch (ms) ||= Вратени редови || |
| | 192 | || INSERT || 16 || 14 || 1 || |
| | 193 | || UPDATE || 18 || 16 || 1 || |
| | 194 | |
| | 195 | Execute е времето на извршување прикажано во DBeaver. Fetch вредностите се преземени од дополнетата евиденција на тестирањето. Ова се клиентски времиња, изразени во милисекунди. |
| | 196 | |
| | 197 | Двете операции се успешни и враќаат по еден ред преку RETURNING. По мерењето промените се вратени со ROLLBACK. |
| | 198 | |
| | 199 | INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање. |