Changes between Version 1 and Version 2 of QueryOptimization


Ignore:
Timestamp:
05/26/26 23:14:01 (18 hours ago)
Author:
233248
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • QueryOptimization

    v1 v2  
    22
    33== View 1: Детален преглед на сметки ==
    4 '''Филтер:''' Примарен филтер за погледот vw_smetki_detali е според klient_id, бидејќи во банкарскиот систем најчесто е потребно да се прикажат сите сметки кои припаѓаат на конкретен клиент. Дополнително, погледот може да се користи и за пребарување според smetka_id или broj_smetka.
     4'''Примарен филтер''' за погледот vw_smetki_detali е според klient_id, бидејќи во банкарскиот систем најчесто е потребно да се прикажат сите сметки кои припаѓаат на конкретен клиент. Дополнително, погледот може да се користи и за пребарување според smetka_id или broj_smetka.
    55
    66
    7 '''Употреба:''' Погледот се користи за детален преглед на сметки, при што се прикажуваат број на сметка, тип на сметка, салдо, валута, статус и основни податоци за клиентот. Овој приказ би се користел од страна на клиент или банкарски службеник при проверка на сметките на клиентот.
     7'''Погледот се користи за''' детален преглед на сметки, при што се прикажуваат број на сметка, тип на сметка, салдо, валута, статус и основни податоци за клиентот. Овој приказ би се користел од страна на клиент или банкарски службеник при проверка на сметките на клиентот.
    88
    99
    10 '''Иницијално време:''' Иницијалното време на извршување на прашалникот без дополнителен индекс изнесува 27 ms, при што се враќаат 3 редови. Вкупното време е 363 ms, но од тоа 336 ms се однесуваат на fetching, односно преземање и прикажување на резултатите во клиентската алатка. Затоа како релевантно време за базата се зема execution времето од 27 ms.
     10'''Иницијалното време на извршување''' на прашалникот без дополнителен индекс изнесува 27 ms, при што се враќаат 3 редови. Вкупното време е 363 ms, но од тоа 336 ms се однесуваат на fetching, односно преземање и прикажување на резултатите во клиентската алатка. Затоа како релевантно време за базата се зема execution времето од 27 ms.
     11
     12[[Image(view1.png)]]
     13
     14
     15Од иницијалниот план на извршување може да се забележи дека PostgreSQL користи Parallel Seq Scan на табелата smetka и филтрира според klient_id = 50000. Иако постои простор за оптимизација со индекс на колоната klient_id, времето на извршување е доволно мало и прифатливо за апликацијата.
     16
     17
     18[[Image(view1.1.png)]]
     19
     20[[Image(view1.2.png)]]
     21
     22
     23'''Времето за Insert и Update е прифатливо.'''
     24
     25Нема потреба од преуредување на прашалникот.
     26
     27Времето на извршување на операциите останува исто.
     28
     29
     30== View 2: Мониторинг на картички поврзани со клиент ==
     31'''Примарен филтер''' за погледот vw_karticki_klienti ќе биде според klient_id, односно според клиентот на кој му припаѓа сметката поврзана со картичката. Дополнително, погледот може да се користи и за пребарување според smetka_id, broj_karticka или статус на картичката.
     32
     33
     34Овој поглед ќе '''се користи за''' мониторинг на картичките на клиентите. Преку него може да се видат бројот на картичката, статусот на картичката, датумот на истекување, типот на картичката, бројот на сметката и основните податоци за сопственикот. Бидејќи картичките се поврзани со клиентот преку сметката, табелата smetka има важна улога во овој поглед.
     35
     36
     37'''Иницијалното време''' за извршување на погледот без дополнителен индекс изнесува 48 ms. Вкупно време од 380 ms, но од тоа 48 ms е реалното execution време, додека 332 ms се однесуваат на fetching, односно преземање и прикажување на резултатите. Затоа како релевантно време за базата се зема execution времето од 48 ms.
     38