Changes between Version 4 and Version 5 of DriverLunchTimersView


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

--

Legend:

Unmodified
Added
Removed
Modified
  • DriverLunchTimersView

    v4 v5  
    7272}}}
    7373
    74 == Тестирање на перформанси ==
    75 
    76 „Пред индексирање“ и „по индексирање“ ги означуваат групите наведени како „без индекси“ и „со индекси“ во евиденцијата. Точниот сет присутни индекси во секоја група не е евидентиран; „без индекси“ не потврдува отсуство на индекси од примарни и уникатни клучеви.
    77 
    78 Наведените времиња се клиентски мерења од DBeaver, а не серверските Planning Time и Execution Time од EXPLAIN ANALYZE. Нема приложени планови, типови на скенирање или податоци за баферите. Вредностите се во милисекунди (ms).
    79 
    80 === Измерен прашалник ===
    81 
    82 {{{
    83 #!sql
    84 SELECT * FROM kbnteam.v_driver_lunch_timers
    85 WHERE contract_id = 100 AND lunch_weekday = 'Monday'
    86 ORDER BY lunch_start;
    87 }}}
    88 
    89 === Резултати пред индексирање ===
    90 
    91 ||= Метрика ||= Измерен резултат ||
    92 || Клиентско време (ms) || 57 ||
    93 || Приказ на мерењето || Време прикажано со резултатот во DBeaver ||
    94 || Прикажани / преземени редови || 18 ||
    95 || Planning Time / Execution Time од EXPLAIN || Не се измерени ||
    96 || План, тип на скенирање и бафери || Не се приложени ||
    97 
    98 === Дополнителни и заеднички индекси ===
     74== Индексна поддршка ==
    9975
    10076Водечката колона contract_id овозможува пристап до термините според договорот. Самостоен услов само по lunch_weekday нема соодветен дополнителен индекс во овој сет.
    … …  
    137113}}}
    138114
    139 === Резултати по индексирање ===
     115== Тестирање на перформанси ==
    140116
    141 ||= Метрика ||= Измерен резултат ||
    142 || Клиентско време (ms) || 337 ||
    143 || Приказ на мерењето || Време прикажано со резултатот во DBeaver ||
    144 || Прикажани / преземени редови || 18 ||
    145 || Planning Time / Execution Time од EXPLAIN || Не се измерени ||
    146 || План, тип на скенирање и бафери || Не се приложени ||
     117=== SELECT ===
    147118
    148 === Анализа на резултатите ===
     119Времето на извршување на SELECT прашалникот е прифатливо за редовното користење на погледот. Постоечката индексна поддршка е доволна за тестираните прашалници.
    149120
    150 ||= Метрика ||= Пред ||= По ||= Промена на времето ||
    151 || Клиентско време (ms) || 57 || 337 || +491,2% ||
     121=== INSERT и UPDATE ===
    152122
    153 Времето е подолго за 280 ms (491,2%), приближно 5,9 пати. Измерениот прашалник комбинира договор и ден и ги сортира резултатите по lunch_start. Причината за влошувањето не е утврдена; без план не може да се припише на конкретен индекс или сортирање.
     123Тестирани се по еден INSERT и еден UPDATE врз `kbnteam.lunch_time`, главната табела на погледот. Се тестира додавање термин и промена на времето за претходна нарачка.
    154124
    155 Промената се пресметува како 100 × (време по - време пред) / време пред. Негативна вредност значи пократко време, а позитивна подолго време. Процентот ја опишува разликата меѓу прикажаните вредности.
     125||= Операција ||= Execute (ms) ||= Fetch (ms) ||= Вратени редови ||
     126|| INSERT || 24 || 24 || 1 ||
     127|| UPDATE || 13 || 24 || 1 ||
    156128
    157 Ова се поединечни набљудувања. Не се евидентирани контролирани повторувања, исти услови за кеширање и оптоварување или точните дефиниции на присутните индекси. Затоа промената на времето не е доказ дека индексите се единствената причина. Не се приложени мерења за INSERT, UPDATE и DELETE.
     129Execute е времето на извршување прикажано во DBeaver. Fetch вредностите се преземени од дополнетата евиденција на тестирањето. Ова се клиентски времиња, изразени во милисекунди.
    158130
    159 === Дополнително тестирање - сè уште неизмерено ===
     131Двете операции се успешни и враќаат по еден ред преку RETURNING. По мерењето промените се вратени со ROLLBACK.
    160132
    161 Следниот прашалник служи за ново мерење на серверскиот план со истиот филтер. Неговите резултати не се пополнети со клиентските времиња наведени погоре. За споредба се задржуваат исти податоци и поставки, се евидентираат присутните индекси, се ажурираат статистиките и се прават повеќе повторувања во двете состојби. Се споредуваат медијаната на времињата и плановите.
    162 
    163 {{{
    164 #!sql
    165 BEGIN READ ONLY;
    166 SET LOCAL statement_timeout = '60s';
    167 
    168 EXPLAIN (ANALYZE, BUFFERS, VERBOSE)
    169 SELECT * FROM kbnteam.v_driver_lunch_timers
    170 WHERE contract_id = 100 AND lunch_weekday = 'Monday'
    171 ORDER BY lunch_start;
    172 
    173 ROLLBACK;
    174 }}}
    175 
    176 ||= Метрика за дополнителното тестирање ||= Пред ||= По ||
    177 || Planning Time (ms) || Не е измерено || Не е измерено ||
    178 || Execution Time (ms) || Не е измерено || Не е измерено ||
    179 || Тип на скенирање по табела || Не е евидентиран || Не е евидентиран ||
    180 || Shared Hit Blocks / Shared Read Blocks || Не се измерени || Не се измерени ||
     133INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање.