Changes between Version 4 and Version 5 of CompanyBillingOverviewView


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

--

Legend:

Unmodified
Added
Removed
Modified
  • CompanyBillingOverviewView

    v4 v5  
    6565}}}
    6666
    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== Индексна поддршка ==
    9168
    9269`invoice(comp_order_id)` има уникатен индекс. За пребарувањето и агрегациите се користат заедничките индекси за нарачки и договори; не е потребен посебен индекс само на contract(company_id).
    … …  
    124101}}}
    125102
    126 === Резултати по индексирање ===
     103== Тестирање на перформанси ==
    127104
    128 ||= Метрика ||= Измерен резултат ||
    129 || Клиентско време (ms) || 118 ||
    130 || Приказ на мерењето || Време прикажано со резултатот во DBeaver ||
    131 || Прикажани / преземени редови || 12 ||
    132 || Planning Time / Execution Time од EXPLAIN || Не се измерени ||
    133 || План, тип на скенирање и бафери || Не се приложени ||
     105=== SELECT ===
    134106
    135 === Анализа на резултатите ===
     107Времето на извршување на SELECT прашалникот е прифатливо за редовното користење на погледот. Постоечката индексна поддршка е доволна за тестираните прашалници.
    136108
    137 ||= Метрика ||= Пред ||= По ||= Промена на времето ||
    138 || Клиентско време (ms) || 108 || 118 || +9,3% ||
     109=== INSERT и UPDATE ===
    139110
    140 Времето е подолго за 10 ms (9,3%). Во ова мерење нема забрзување по индексирањето. Малата апсолутна разлика бара повторени мерења пред да се заклучи дека постои трајно влошување.
     111Тестирани се по еден INSERT и еден UPDATE врз `kbnteam.invoice`, главната табела на погледот. Се тестира додавање фактура и промена на поврзаната компаниска нарачка.
    141112
    142 Промената се пресметува како 100 × (време по - време пред) / време пред. Негативна вредност значи пократко време, а позитивна подолго време. Процентот ја опишува разликата меѓу прикажаните вредности.
     113||= Операција ||= Execute (ms) ||= Fetch (ms) ||= Вратени редови ||
     114|| INSERT || 14 || 13 || 1 ||
     115|| UPDATE || 16 || 14 || 1 ||
    143116
    144 Ова се поединечни набљудувања. Не се евидентирани контролирани повторувања, исти услови за кеширање и оптоварување или точните дефиниции на присутните индекси. Затоа промената на времето не е доказ дека индексите се единствената причина. Не се приложени мерења за INSERT, UPDATE и DELETE.
     117Execute е времето на извршување прикажано во DBeaver. Fetch вредностите се преземени од дополнетата евиденција на тестирањето. Ова се клиентски времиња, изразени во милисекунди.
    145118
    146 === Дополнително тестирање - сè уште неизмерено ===
     119Двете операции се успешни и враќаат по еден ред преку RETURNING. По мерењето промените се вратени со ROLLBACK.
    147120
    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 || Не се измерени || Не се измерени ||
     121INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање.