Changes between Version 4 and Version 5 of CompanyBillingOverviewView
- Timestamp:
- 09/16/26 01:14:34 (11 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CompanyBillingOverviewView
v4 v5 65 65 }}} 66 66 67 == Тестирање на перформанси == 68 69 „Пред индексирање“ и „по индексирање“ ги означуваат групите наведени како „без индекси“ и „со индекси“ во евиденцијата. Точниот сет присутни индекси во секоја група не е евидентиран; „без индекси“ не потврдува отсуство на индекси од примарни и уникатни клучеви. 70 71 Наведените времиња се клиентски мерења од DBeaver, а не серверските Planning Time и Execution Time од EXPLAIN ANALYZE. Нема приложени планови, типови на скенирање или податоци за баферите. Вредностите се во милисекунди (ms). 72 73 === Измерен прашалник === 74 75 {{{ 76 #!sql 77 SELECT * FROM kbnteam.v_company_billing_overview 78 WHERE company_id = 250; 79 }}} 80 81 === Резултати пред индексирање === 82 83 ||= Метрика ||= Измерен резултат || 84 || Клиентско време (ms) || 108 || 85 || Приказ на мерењето || Време прикажано со резултатот во DBeaver || 86 || Прикажани / преземени редови || 12 || 87 || Planning Time / Execution Time од EXPLAIN || Не се измерени || 88 || План, тип на скенирање и бафери || Не се приложени || 89 90 === Дополнителни и заеднички индекси === 67 == Индексна поддршка == 91 68 92 69 `invoice(comp_order_id)` има уникатен индекс. За пребарувањето и агрегациите се користат заедничките индекси за нарачки и договори; не е потребен посебен индекс само на contract(company_id). … … 124 101 }}} 125 102 126 == = Резултати по индексирање ===103 == Тестирање на перформанси == 127 104 128 ||= Метрика ||= Измерен резултат || 129 || Клиентско време (ms) || 118 || 130 || Приказ на мерењето || Време прикажано со резултатот во DBeaver || 131 || Прикажани / преземени редови || 12 || 132 || Planning Time / Execution Time од EXPLAIN || Не се измерени || 133 || План, тип на скенирање и бафери || Не се приложени || 105 === SELECT === 134 106 135 === Анализа на резултатите === 107 Времето на извршување на SELECT прашалникот е прифатливо за редовното користење на погледот. Постоечката индексна поддршка е доволна за тестираните прашалници. 136 108 137 ||= Метрика ||= Пред ||= По ||= Промена на времето || 138 || Клиентско време (ms) || 108 || 118 || +9,3% || 109 === INSERT и UPDATE === 139 110 140 Времето е подолго за 10 ms (9,3%). Во ова мерење нема забрзување по индексирањето. Малата апсолутна разлика бара повторени мерења пред да се заклучи дека постои трајно влошување.111 Тестирани се по еден INSERT и еден UPDATE врз `kbnteam.invoice`, главната табела на погледот. Се тестира додавање фактура и промена на поврзаната компаниска нарачка. 141 112 142 Промената се пресметува како 100 × (време по - време пред) / време пред. Негативна вредност значи пократко време, а позитивна подолго време. Процентот ја опишува разликата меѓу прикажаните вредности. 113 ||= Операција ||= Execute (ms) ||= Fetch (ms) ||= Вратени редови || 114 || INSERT || 14 || 13 || 1 || 115 || UPDATE || 16 || 14 || 1 || 143 116 144 Ова се поединечни набљудувања. Не се евидентирани контролирани повторувања, исти услови за кеширање и оптоварување или точните дефиниции на присутните индекси. Затоа промената на времето не е доказ дека индексите се единствената причина. Не се приложени мерења за INSERT, UPDATE и DELETE.117 Execute е времето на извршување прикажано во DBeaver. Fetch вредностите се преземени од дополнетата евиденција на тестирањето. Ова се клиентски времиња, изразени во милисекунди. 145 118 146 === Дополнително тестирање - сè уште неизмерено === 119 Двете операции се успешни и враќаат по еден ред преку RETURNING. По мерењето промените се вратени со ROLLBACK. 147 120 148 Следниот прашалник служи за ново мерење на серверскиот план со истиот филтер. Неговите резултати не се пополнети со клиентските времиња наведени погоре. За споредба се задржуваат исти податоци и поставки, се евидентираат присутните индекси, се ажурираат статистиките и се прават повеќе повторувања во двете состојби. Се споредуваат медијаната на времињата и плановите. 149 150 {{{ 151 #!sql 152 BEGIN READ ONLY; 153 SET LOCAL statement_timeout = '60s'; 154 155 EXPLAIN (ANALYZE, BUFFERS, VERBOSE) 156 SELECT * FROM kbnteam.v_company_billing_overview 157 WHERE company_id = 250; 158 159 ROLLBACK; 160 }}} 161 162 ||= Метрика за дополнителното тестирање ||= Пред ||= По || 163 || Planning Time (ms) || Не е измерено || Не е измерено || 164 || Execution Time (ms) || Не е измерено || Не е измерено || 165 || Тип на скенирање по табела || Не е евидентиран || Не е евидентиран || 166 || Shared Hit Blocks / Shared Read Blocks || Не се измерени || Не се измерени || 121 INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање.
