Changes between Version 4 and Version 5 of DriverDeliveriesView


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

--

Legend:

Unmodified
Added
Removed
Modified
  • DriverDeliveriesView

    v4 v5  
    9292}}}
    9393
    94 == Тестирање на перформанси ==
    95 
    96 „Пред индексирање“ и „по индексирање“ ги означуваат групите наведени како „без индекси“ и „со индекси“ во евиденцијата. Точниот сет присутни индекси во секоја група не е евидентиран; „без индекси“ не потврдува отсуство на индекси од примарни и уникатни клучеви.
    97 
    98 Наведените времиња се клиентски мерења од DBeaver, а не серверските Planning Time и Execution Time од EXPLAIN ANALYZE. Нема приложени планови, типови на скенирање или податоци за баферите. Вредностите се во милисекунди (ms).
    99 
    100 === Измерен прашалник ===
    101 
    102 {{{
    103 #!sql
    104 SELECT * FROM kbnteam.v_driver_deliveries
    105 WHERE driver_user_id = 450;
    106 }}}
    107 
    108 === Резултати пред индексирање ===
    109 
    110 ||= Метрика ||= Измерен резултат ||
    111 || Клиентско време (ms) || околу 70000 ||
    112 || Приказ на мерењето || Време прикажано со резултатот во DBeaver ||
    113 || Прикажани / преземени редови || 200 преземени; вкупниот број не е утврден ||
    114 || Planning Time / Execution Time од EXPLAIN || Не се измерени ||
    115 || План, тип на скенирање и бафери || Не се приложени ||
    116 
    117 === Дополнителни и заеднички индекси ===
     94== Индексна поддршка ==
    11895
    11996`company_order(delivery_id)` има уникатен индекс. Прегледот ги користи и индексите за нарачките преку `v_orders_full`.
    … …  
    166143}}}
    167144
    168 === Резултати по индексирање ===
     145== Тестирање на перформанси ==
    169146
    170 ||= Метрика ||= Измерен резултат ||
    171 || Клиентско време (ms) || 48236 ||
    172 || Приказ на мерењето || Статистика за 2 наредби: 48208 ms извршување, 28 ms преземање, 48236 ms вкупно ||
    173 || Прикажани / преземени редови || Не е утврден од приказот на статистиката ||
    174 || Planning Time / Execution Time од EXPLAIN || Не се измерени ||
    175 || План, тип на скенирање и бафери || Не се приложени ||
     147=== SELECT ===
    176148
    177 === Анализа на резултатите ===
    178 
    179 ||= Метрика ||= Пред ||= По ||= Промена на времето ||
    180 || Клиентско време (ms) || околу 70000 || 48236 || Не се пресметува ||
    181 
    182 Споредбата е ориентациска. Во состојбата „без индекси“ се гледаат околу 1 min 10 s и 200 преземени редови, со ограничување на преземањето на 200. Во состојбата „со индекси“ се прикажува статистика за 2 наредби: 48208 ms извршување, 28 ms преземање и 48236 ms вкупно. Еден прикажан ред во статистиката не е бројот на достави. Не се пресметува процент на забрзување поради различниот опфат на мерењата.
    183 
    184 Ова се поединечни набљудувања. Не се евидентирани контролирани повторувања, исти услови за кеширање и оптоварување или точните дефиниции на присутните индекси. Затоа промената на времето не е доказ дека индексите се единствената причина. Не се приложени мерења за INSERT, UPDATE и DELETE.
    185 
    186 === Дополнително тестирање - сè уште неизмерено ===
    187 
    188 Следниот прашалник служи за ново мерење на серверскиот план со истиот филтер. Неговите резултати не се пополнети со клиентските времиња наведени погоре. За споредба се задржуваат исти податоци и поставки, се евидентираат присутните индекси, се ажурираат статистиките и се прават повеќе повторувања во двете состојби. Се споредуваат медијаната на времињата и плановите.
    189 
    190 За овој дополнителен тест е предвиден лимит од 180 секунди, бидејќи забележаното клиентско време без индекси е околу 70 секунди. За клиентските мерења треба да се усогласи и бројот на преземени редови.
     149Мерењата се евидентирани во DBeaver. Времињата се во милисекунди (ms).
    191150
    192151{{{
    193152#!sql
    194 BEGIN READ ONLY;
    195 SET LOCAL statement_timeout = '180s';
    196 
    197 EXPLAIN (ANALYZE, BUFFERS, VERBOSE)
    198153SELECT * FROM kbnteam.v_driver_deliveries
    199154WHERE driver_user_id = 450;
    200 
    201 ROLLBACK;
    202155}}}
    203156
    204 ||= Метрика за дополнителното тестирање ||= Пред ||= По ||
    205 || Planning Time (ms) || Не е измерено || Не е измерено ||
    206 || Execution Time (ms) || Не е измерено || Не е измерено ||
    207 || Тип на скенирање по табела || Не е евидентиран || Не е евидентиран ||
    208 || Shared Hit Blocks / Shared Read Blocks || Не се измерени || Не се измерени ||
     157||= Мерење ||= Клиентско време (ms) ||= Приказ во DBeaver ||
     158|| Пред индексирање || околу 70000 || Преземени 200 редови ||
     159|| По индексирање || 48236 || Вкупно време за 2 наредби ||
     160
     161Во статистиката по индексирањето се прикажани следните времиња:
     162
     163||= Метрика ||= Време (ms) ||
     164|| Execute || 48208 ||
     165|| Fetch || 28 ||
     166|| Вкупно || 48236 ||
     167
     168Првото мерење прикажува околу 1 минута и 10 секунди за 200 редови, а второто статистика за две наредби. Споредбата е ориентациска поради различниот начин на мерење.
     169
     170=== INSERT и UPDATE ===
     171
     172Тестирани се по еден INSERT и еден UPDATE врз `kbnteam.delivery`, главната табела на погледот. Се тестира додавање достава и промена на забелешката.
     173
     174||= Операција ||= Execute (ms) ||= Fetch (ms) ||= Вратени редови ||
     175|| INSERT || 13 || 16 || 1 ||
     176|| UPDATE || 13 || 13 || 1 ||
     177
     178Execute е времето на извршување прикажано во DBeaver. Fetch вредностите се преземени од дополнетата евиденција на тестирањето. Ова се клиентски времиња, изразени во милисекунди.
     179
     180Двете операции се успешни и враќаат по еден ред преку RETURNING. По мерењето промените се вратени со ROLLBACK.
     181
     182INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање.