Changes between Version 5 and Version 6 of MenuDrinkView


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

--

Legend:

Unmodified
Added
Removed
Modified
  • MenuDrinkView

    v5 v6  
    4646}}}
    4747
    48 == Тестирање на перформанси ==
    49 
    50 „Пред индексирање“ и „по индексирање“ ги означуваат групите наведени како „без индекси“ и „со индекси“ во евиденцијата. Точниот сет присутни индекси во секоја група не е евидентиран; „без индекси“ не потврдува отсуство на индекси од примарни и уникатни клучеви.
    51 
    52 Наведените времиња се клиентски мерења од DBeaver, а не серверските Planning Time и Execution Time од EXPLAIN ANALYZE. Нема приложени планови, типови на скенирање или податоци за баферите. Вредностите се во милисекунди (ms).
    53 
    54 === Измерен прашалник ===
    55 
    56 {{{
    57 #!sql
    58 SELECT * FROM kbnteam.v_menu_drink
    59 WHERE rest_id = 36;
    60 }}}
    61 
    62 === Резултати пред индексирање ===
    63 
    64 ||= Метрика ||= Измерен резултат ||
    65 || Клиентско време (ms) || 147 ||
    66 || Приказ на мерењето || Време прикажано со резултатот во DBeaver ||
    67 || Прикажани / преземени редови || 2 ||
    68 || Planning Time / Execution Time од EXPLAIN || Не се измерени ||
    69 || План, тип на скенирање и бафери || Не се приложени ||
    70 
    71 === Дополнителни и заеднички индекси ===
     48== Индексна поддршка ==
    7249
    7350`drink(rest_id, drink_name)` е покриен со уникатното ограничување `uq_drink_restaurant_name`, а `restaurant(rest_id)` со примарен клуч. За овој преглед нема дополнителен индекс.
    … …  
    8663}}}
    8764
    88 === Резултати по индексирање ===
     65== Тестирање на перформанси ==
    8966
    90 ||= Метрика ||= Измерен резултат ||
    91 || Клиентско време (ms) || 37 ||
    92 || Приказ на мерењето || Време прикажано со резултатот во DBeaver ||
    93 || Прикажани / преземени редови || 2 ||
    94 || Planning Time / Execution Time од EXPLAIN || Не се измерени ||
    95 || План, тип на скенирање и бафери || Не се приложени ||
     67=== SELECT ===
    9668
    97 === Анализа на резултатите ===
     69Времето на извршување на SELECT прашалникот е прифатливо за редовното користење на погледот. Постоечката индексна поддршка е доволна за тестираните прашалници.
    9870
    99 ||= Метрика ||= Пред ||= По ||= Промена на времето ||
    100 || Клиентско време (ms) || 147 || 37 || -74,8% ||
     71=== INSERT и UPDATE ===
    10172
    102 Времето е пократко за 110 ms (74,8%). Уникатниот индекс по ресторан и назив веќе го поддржува филтерот, а во тековната дефиниција нема дополнителен индекс за овој поглед. Разликата не докажува корист од нов индекс; можни се разлики во кеширањето и условите на мерење.
     73На 15 септември 2026 година се тестирани по еден INSERT и еден UPDATE врз `kbnteam.drink`, главната табела на погледот. Се тестира додавање пијалок и промена на неговата цена.
    10374
    104 Промената се пресметува како 100 × (време по - време пред) / време пред. Негативна вредност значи пократко време, а позитивна подолго време. Процентот ја опишува разликата меѓу прикажаните вредности.
     75||= Операција ||= Execute (ms) ||= Fetch (ms) ||= Вратени редови ||
     76|| INSERT || 17 || 17 || 1 ||
     77|| UPDATE || 16 || 17 || 1 ||
    10578
    106 Ова се поединечни набљудувања. Не се евидентирани контролирани повторувања, исти услови за кеширање и оптоварување или точните дефиниции на присутните индекси. Затоа промената на времето не е доказ дека индексите се единствената причина. Не се приложени мерења за INSERT, UPDATE и DELETE.
     79Execute е времето на извршување прикажано во DBeaver. Fetch вредностите се преземени од дополнетата евиденција на тестирањето. Ова се клиентски времиња, изразени во милисекунди.
    10780
    108 === Дополнително тестирање - сè уште неизмерено ===
     81Двете операции се успешни и враќаат по еден ред преку RETURNING. По мерењето промените се вратени со ROLLBACK.
    10982
    110 Следниот прашалник служи за ново мерење на серверскиот план со истиот филтер. Неговите резултати не се пополнети со клиентските времиња наведени погоре. За споредба се задржуваат исти податоци и поставки, се евидентираат присутните индекси, се ажурираат статистиките и се прават повеќе повторувања во двете состојби. Се споредуваат медијаната на времињата и плановите.
    111 
    112 {{{
    113 #!sql
    114 BEGIN READ ONLY;
    115 SET LOCAL statement_timeout = '60s';
    116 
    117 EXPLAIN (ANALYZE, BUFFERS, VERBOSE)
    118 SELECT * FROM kbnteam.v_menu_drink
    119 WHERE rest_id = 36;
    120 
    121 ROLLBACK;
    122 }}}
    123 
    124 ||= Метрика за дополнителното тестирање ||= Пред ||= По ||
    125 || Planning Time (ms) || Не е измерено || Не е измерено ||
    126 || Execution Time (ms) || Не е измерено || Не е измерено ||
    127 || Тип на скенирање по табела || Не е евидентиран || Не е евидентиран ||
    128 || Shared Hit Blocks / Shared Read Blocks || Не се измерени || Не се измерени ||
     83INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање.