Changes between Version 4 and Version 5 of ContractsRevenueView


Ignore:
Timestamp:
09/16/26 01:14:13 (11 days ago)
Author:
223235
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ContractsRevenueView

    v4 v5  
    9696}}}
    9797
    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== Индексна поддршка ==
    12299
    123100`contract(company_id, rest_id)` поддржува и услов само по company_id. Индексот со rest_id како прва колона ја поддржува другата насока на пребарување.
    … …  
    170147}}}
    171148
    172 === Резултати по индексирање ===
     149== Тестирање на перформанси ==
    173150
    174 ||= Метрика ||= Измерен резултат ||
    175 || Клиентско време (ms) || 1966 ||
    176 || Приказ на мерењето || Време прикажано со резултатот во DBeaver ||
    177 || Прикажани / преземени редови || 0 ||
    178 || Planning Time / Execution Time од EXPLAIN || Не се измерени ||
    179 || План, тип на скенирање и бафери || Не се приложени ||
     151=== SELECT ===
    180152
    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).
    195154
    196155{{{
    197156#!sql
    198 BEGIN READ ONLY;
    199 SET LOCAL statement_timeout = '60s';
    200 
    201 EXPLAIN (ANALYZE, BUFFERS, VERBOSE)
    202157SELECT * FROM kbnteam.v_contracts_revenue
    203158WHERE company_id = 250;
    204 
    205 ROLLBACK;
    206159}}}
    207160
    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
     175Execute е времето на извршување прикажано во DBeaver. Fetch вредностите се преземени од дополнетата евиденција на тестирањето. Ова се клиентски времиња, изразени во милисекунди.
     176
     177Двете операции се успешни и враќаат по еден ред преку RETURNING. По мерењето промените се вратени со ROLLBACK.
     178
     179INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање.