Changes between Version 4 and Version 5 of MenuMealView


Ignore:
Timestamp:
09/16/26 01:08:52 (12 days ago)
Author:
223235
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MenuMealView

    v4 v5  
    8181}}}
    8282
    83 == Тестирање на перформанси ==
    84 
    85 „Пред индексирање“ и „по индексирање“ ги означуваат групите наведени како „без индекси“ и „со индекси“ во евиденцијата. Точниот сет присутни индекси во секоја група не е евидентиран; „без индекси“ не потврдува отсуство на индекси од примарни и уникатни клучеви.
    86 
    87 Наведените времиња се клиентски мерења од DBeaver, а не серверските Planning Time и Execution Time од EXPLAIN ANALYZE. Нема приложени планови, типови на скенирање или податоци за баферите. Вредностите се во милисекунди (ms).
    88 
    89 === Измерен прашалник ===
    90 
    91 {{{
    92 #!sql
    93 SELECT * FROM kbnteam.v_menu_meal
    94 WHERE rest_id = 36 AND cat_id = 5;
    95 }}}
    96 
    97 === Резултати пред индексирање ===
    98 
    99 ||= Метрика ||= Измерен резултат ||
    100 || Клиентско време (ms) || 106 ||
    101 || Приказ на мерењето || Статистика за 2 наредби: 106 ms извршување, 0 ms преземање, 106 ms вкупно ||
    102 || Прикажани / преземени редови || Не е утврден од приказот на статистиката ||
    103 || Planning Time / Execution Time од EXPLAIN || Не се измерени ||
    104 || План, тип на скенирање и бафери || Не се приложени ||
    105 
    106 === Дополнителни и заеднички индекси ===
     83== Индексна поддршка ==
    10784
    10885Уникатното ограничување `uq_meal_restaurant_name` веќе го покрива пребарувањето по ресторан. Обратниот редослед на колоните во индексите за состојки и алергени овозможува пристап од јадење кон состојка и од состојка кон алерген.
    … …  
    140117}}}
    141118
    142 === Резултати по индексирање ===
     119== Тестирање на перформанси ==
    143120
    144 ||= Метрика ||= Измерен резултат ||
    145 || Клиентско време (ms) || 44 ||
    146 || Приказ на мерењето || Време прикажано со резултатот во DBeaver ||
    147 || Прикажани / преземени редови || 0 ||
    148 || Planning Time / Execution Time од EXPLAIN || Не се измерени ||
    149 || План, тип на скенирање и бафери || Не се приложени ||
     121=== SELECT ===
    150122
    151 === Анализа на резултатите ===
     123Времето на извршување на SELECT прашалникот е прифатливо за редовното користење на погледот. Постоечката индексна поддршка е доволна за тестираните прашалници.
    152124
    153 ||= Метрика ||= Пред ||= По ||= Промена на времето ||
    154 || Клиентско време (ms) || 106 || 44 || -58,5% ||
     125=== INSERT и UPDATE ===
    155126
    156 Аритметичката разлика е 62 ms (58,5%) пократко време. Сепак, 106 ms е вкупно време во статистика за 2 наредби, а 44 ms е време од приказот на празен резултат. Ова не е контролирана споредба на изолирани SELECT извршувања. Потребни се повторени мерења со ист начин на мерење и пример што враќа јадења.
     127На 15 септември 2026 година се тестирани по еден INSERT и еден UPDATE врз `kbnteam.meal`, главната табела на погледот. Се тестира додавање оброк и промена на неговата цена.
    157128
    158 Промената се пресметува како 100 × (време по - време пред) / време пред. Негативна вредност значи пократко време, а позитивна подолго време. Процентот ја опишува разликата меѓу прикажаните вредности.
     129||= Операција ||= Execute (ms) ||= Fetch (ms) ||= Вратени редови ||
     130|| INSERT || 15 || 16 || 1 ||
     131|| UPDATE || 14 || 15 || 1 ||
    159132
    160 Ова се поединечни набљудувања. Не се евидентирани контролирани повторувања, исти услови за кеширање и оптоварување или точните дефиниции на присутните индекси. Затоа промената на времето не е доказ дека индексите се единствената причина. Не се приложени мерења за INSERT, UPDATE и DELETE.
     133Execute е времето на извршување прикажано во DBeaver. Fetch вредностите се преземени од дополнетата евиденција на тестирањето. Ова се клиентски времиња, изразени во милисекунди.
    161134
    162 === Дополнително тестирање - сè уште неизмерено ===
     135Двете операции се успешни и враќаат по еден ред преку RETURNING. По мерењето промените се вратени со ROLLBACK.
    163136
    164 Следниот прашалник служи за ново мерење на серверскиот план со истиот филтер. Неговите резултати не се пополнети со клиентските времиња наведени погоре. За споредба се задржуваат исти податоци и поставки, се евидентираат присутните индекси, се ажурираат статистиките и се прават повеќе повторувања во двете состојби. Се споредуваат медијаната на времињата и плановите.
    165 
    166 {{{
    167 #!sql
    168 BEGIN READ ONLY;
    169 SET LOCAL statement_timeout = '60s';
    170 
    171 EXPLAIN (ANALYZE, BUFFERS, VERBOSE)
    172 SELECT * FROM kbnteam.v_menu_meal
    173 WHERE rest_id = 36 AND cat_id = 5;
    174 
    175 ROLLBACK;
    176 }}}
    177 
    178 ||= Метрика за дополнителното тестирање ||= Пред ||= По ||
    179 || Planning Time (ms) || Не е измерено || Не е измерено ||
    180 || Execution Time (ms) || Не е измерено || Не е измерено ||
    181 || Тип на скенирање по табела || Не е евидентиран || Не е евидентиран ||
    182 || Shared Hit Blocks / Shared Read Blocks || Не се измерени || Не се измерени ||
     137INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање.