Оптимизација на прашалници и погледи
View 1: Најава на корисник (Login view)
- Филтри: Примарен филтер за погледот
v_user_loginќе биде споредusername, а дополнително се филтрира само на корисници со статусACTIVE.
- Употреба: е процесот на логирање на клиент во системот. Погледот обезбедува брз пристап до корисничкото име, и статусот на сметката.
- Иницијално време: Иницијалното време за извршување на погледот е 0.315ms. Ова е прифатливо време за апликацијата.
- Најбавните операции се две Index Scan операции:
- Index Scan на табела
client_userпреку индексотclient_user_username_key- Actual Total Time: 0.039ms - Index Scan на табела
clientпреку индексотclient_pkey- Actual Total Time: 0.013ms
- Index Scan на табела
- Вкупниот Nested Loop завршува за само 0.056ms. Бидејќи се работи за Index Scan (не Full Scan), операциите не можат значително да се подобрат со дополнителни индекси.
- Времето изминато во извршување на операциите insert и update изнесува
- Нема потреба да се преуреди прашалникот.
- Време на извршување на операциите insert и update останува исто.
View 2: Извештаи (Receipt view)
- Филтри: Примарен филтер за погледот
v_client_receiptsќе биде споредclient_id, а дополнително може да се користи и споредtransaction_date(по временски период - месец и година).
- Употреба: Примарен случај на употреба е преглед на издадени сметки за клиент по одреден период. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
- Иницијално време: Иницијалното време за извршување на погледот e 705ms. Ова е прифатливо време за апликацијата.
- Нема потреба од правење план на извршување, бидејќи времето е задоволително. Времето на операциите insert и update е
- Нема потреба да се преуреди прашалникот.
- Време на извршување на операциите insert и update останува исто.
View 3: Рати (Loan installments view)
- Филтри: Примарен филтер за погледот
v_loan_installmentsќе биде споредloan_id.
- Употреба: Примарен случај на употреба е кога клиентот или банкарскиот персонал сака да ги прегледа ратите за конкретен кредит. За овој поглед ни се важни перформансите.
- Иницијално време: Иницијалното време за извршување на погледот е 250.5ms. Ова е прифатливо време за апликацијата.
- Нема потреба од правење план на извршување, бидејќи времето е задоволително. Пребарувањето по
loan_idсекогаш враќа мал број рати за конкретен кредит, па табелата не се пребарува со висока фреквенција истовремено. Времето на операциите insert и update изнесува
- Нема потреба да се преуреди прашалникот.
- Времето на извршување на операциите insert и update останува исто.
View 4: Преглед на кредити
- Филтри: Примарен филтер за погледот
v_loan_detailsможе да биде споредloan_id, или споредclient_id.
- Употреба: Примарен случај на употреба е целосен преглед на кредитна апликација. За овој поглед ни се важни перформансите, бидејќи без него се губи многу време при извршување.
- Иницијално време: Иницијалното време за извршување на погледот e 1s 735ms. Времето е побавно поради повеќе JOIN операции и full scan на табелите Account и Collateral. Ова не е прифатливо за апликацијата.
- Најбавните операции се JOIN-овите на Account и Collateral преку
loan_id, кои немаат индекси на надворешниот клуч.
- Времето изминато во извршување на операциите insert и update изнесува
- Времето изминато во извршување на query-то со индекси изнесува 781ms, и тоа е прифатливо време.
- Времето изминато во извршување на операцијата update по индексирање изнесува
View 5: Трансфери меѓу сметки, трансакции
- Филтри: Примарен филтер за погледот
v_client_transfersќе биде споредsender_client_id, а дополнително и споредtransaction_date.
- Употреба: Примарен случај на употреба е кога клиентот сака да ги прегледа своите извршени трансфери. За овој поглед ни се важни перформансите.
- Иницијално време: Иницијалното време за извршување на погледот е 68ms. Времето е прифатливо, бидејќи JOIN операциите се базираат на примарни и надворешни клучеви кои веќе имаат индекси.
- Најбавните операции не претставуваат значителен проблем. Двојниот JOIN на Account и Client (за испраќач и примач) се изведува ефикасно преку постојните индекси.
- Времето на операциите insert и update изнесува
- Нема потреба да се преуредува прашалникот.
- Времето на извршување на операциите insert и update останува исто.
View 6: Сомнителни трансакции
- Филтри: Примарен филтер за погледот
v_suspicious_transactionsеamount > 9000 AND status IN ('PENDING', 'FAILED').
- Употреба: Примарен случај на употреба е мониторинг на потенцијално сомнителна активност. За овој поглед ни се важни перформансите, бидејќи без него се губи многу време при извршување.
- Иницијално време: Иницијалното време за извршување на погледот е 8s 15ms. Времето за извршување е побавно поради full scan на табелата Transaction за да се пронајдат записите со висок износ. Ова не е прифатливо за апликацијата, па затоа пристапуваме кон индексирање.
- Најбавните операции се full scan на Transaction за филтрирање по
amountиstatus, и JOIN со Account без индекс наclient_id.
- Времето изминато во извршување на insert и update изнесува
- Времето изминато во извршување на query-то со индекси изнесува 669ms, и тоа е прифатливо време.
- Времето изминато во извршување на операцијата update по индексирање изнесува
View 7: Вкупна состојба на клиент
- Филтри: Примарен филтер за погледот
v_account_balanceќе биде споредclient_id.
- Употреба: Примарен случај на употреба е кога клиентот сака да го провери балансот на своите сметки. Овде се битни перформансите, затоа што сакаме апликацијата да функционира без застој.
- Иницијално време: Иницијалното време за извршување на овој поглед изнесува 88ms. Времето е мало и прифатливо, бидејќи JOIN-овите се на примарни клучеви.
- Нема потреба од правење план на извршување, бидејќи времето е задоволително. Времето на операции insert и update изнесува
- Нема потреба да се преуреди прашалникот.
- Време на извршување на операциите insert и update останува исто.
View 8: Следење на доцнења (Loan Default Monitoring)
- Филтри: Примарен филтер за погледот
v_loan_default_monitoringќе биде споредinstallment_status IN ('PENDING','LATE')иdue_date, со условpaid_date IS NULL.
- Употреба: Примарен случај на употреба е кога банкарскиот персонал сака да ги идентификува клиентите кои задоцниле со плаќање. За овој поглед ни се важни перформансите, бидејќи без него се губи многу време при извршување.
- Иницијално време: Иницијалното време за извршување на погледот е 9s 289ms. Иницијалното време за извршување на погледот беше побавно поради full scan на табелата Loan_installment. Ова не е прифатливо време за апликацијата па затоа пристапуваме кон индексирање.
- Најбавните операции се full scan на
Loan_installmentбез филтрирање на платените рати, и JOIN со Account без covering индекс.
- Времето изминато во извршување на INSERT и UPDATE пред изнесува
- Времето изминато во извршување на query-то со индекси изнесува 597.9ms, и тоа е прифатливо време.
- Времето изминато во извршување на операциите insert и update по индексирање изнесува
View 9: Accounts (сметки)
- Филтри: Примарен филтер за погледот
v_accountsќе биде споредclient_id.
- Употреба: Примарен случај на употреба е преглед на сите сметки на клиент при услуги на шалтер. Овде се битни перформансите.
- Иницијално време: Иницијалното време за извршување на овој поглед е 100ms, што е прифатливо, па затоа нема да имаме потреба од индексирање.
- Нема потреба од правење план на извршување, бидејќи времето е задоволително. Времето на операциите insert и update е
- Нема потреба да се преуредува прашалникот.
- Времето на извршување на операциите insert и update останува исто.
View 10: Камати по штедни сметки
- Филтри: Примарен филтер за погледот
v_savings_interest_paymentsќе биде споредclient_id.
- Употреба: Примарен случај на употреба е кога клиентот сака да ги прегледа добиените камати по период. Овде се важни перформансите.
- Иницијално време: Иницијалното време за извршување на овој поглед е 214ms, што е прифатливо, па затоа нема да имаме потреба од индексирање.
- Нема потреба од правење план на извршување, бидејќи времето е задоволително. Времето на операциите insert и update е
- Нема потреба да се преуредува прашалникот.
- Времето на извршување на операциите insert и update останува исто.
View 11: Дневен извештај на филијала
- Филтри: Примарен филтер за погледот
v_daily_branch_reportможе биде споредbranch_id, а дополнително и споредreport_date.
- Употреба: Примарен случај на употреба е кога раководството на филијалата или централниот менаџмент сака да ги следи дневните активности. Овде се битни перформансите.
- Иницијално време: Иницијалното време за извршување на погледот е 385ms. Ова е прифатливо време за апликацијата.
- Нема потреба од правење план на извршување, бидејќи времето е задоволително. Времето на операциите insert и update е
- Нема потреба да се преуредува прашалникот.
- Времето на извршување на операциите insert и update останува исто.
Last modified
2 days ago
Last modified on 05/23/26 23:05:48
Attachments (53)
- OptimizacijaPrashalniciPogledi.pdf (2.8 MB ) - added by 7 days ago.
- insert_.JPG (38.2 KB ) - added by 5 days ago.
- update_.JPG (39.2 KB ) - added by 5 days ago.
- v_user_login_et.JPG (8.7 KB ) - added by 5 days ago.
- v_user_login_fullsc_paint.jpg (72.7 KB ) - added by 5 days ago.
- client_receipts.JPG (15.0 KB ) - added by 5 days ago.
- insert_transaction.JPG (38.8 KB ) - added by 5 days ago.
- insert_receipt.JPG (27.3 KB ) - added by 5 days ago.
- update_transaction.JPG (17.4 KB ) - added by 5 days ago.
- v_loan_installment_et.JPG (12.6 KB ) - added by 5 days ago.
- update.JPG (20.4 KB ) - added by 5 days ago.
- insert.JPG (29.1 KB ) - added by 5 days ago.
- v_loan_details_et.JPG (13.6 KB ) - added by 5 days ago.
- v_loan_details_fullsc_paint.jpg (214.8 KB ) - added by 5 days ago.
- insert_v_loan.JPG (29.6 KB ) - added by 5 days ago.
- update_v_loan.JPG (15.5 KB ) - added by 5 days ago.
- index_v_loan.JPG (8.3 KB ) - added by 5 days ago.
- v_loan_details_et_index.JPG (11.4 KB ) - added by 5 days ago.
- v_loan_details_fullsc_index_paint.jpg (200.1 KB ) - added by 5 days ago.
- update_index.JPG (17.0 KB ) - added by 5 days ago.
- v_client_transfers_et.JPG (15.6 KB ) - added by 5 days ago.
- v_client_transfers_fullsc.JPG (109.6 KB ) - added by 5 days ago.
- insert_v_client_transfers.JPG (56.6 KB ) - added by 5 days ago.
- update_v_client_transfers.JPG (18.4 KB ) - added by 5 days ago.
- v_sus_et.JPG (17.5 KB ) - added by 5 days ago.
- v_sus_fullsc_paint.jpg (111.7 KB ) - added by 5 days ago.
- insert_v_sus.JPG (38.8 KB ) - added by 5 days ago.
- update_v_sus.JPG (16.3 KB ) - added by 5 days ago.
- index_v_sus.JPG (12.8 KB ) - added by 5 days ago.
- v_sus_et_index.JPG (24.3 KB ) - added by 5 days ago.
- v_sus_fullsc_index_paint.jpg (126.9 KB ) - added by 5 days ago.
- update_index_v_sus.JPG (17.2 KB ) - added by 5 days ago.
- v_account_balance_et.JPG (13.5 KB ) - added by 5 days ago.
- insert_v_account_balance.JPG (30.9 KB ) - added by 5 days ago.
- update_v_account_balance.JPG (20.4 KB ) - added by 5 days ago.
- loan_monitoring_et.png (40.0 KB ) - added by 5 days ago.
- v_loan_monitoring_fullsc_paint.jpg (129.8 KB ) - added by 5 days ago.
- insert_loan_def.JPG (27.3 KB ) - added by 5 days ago.
- update_loan_def.JPG (18.9 KB ) - added by 5 days ago.
- index_loan_def.jpg (10.6 KB ) - added by 5 days ago.
- v_loan_default_monitoring_index_et.png (29.6 KB ) - added by 5 days ago.
- v_loan_monitoring_fullsc_index_paint.jpg (129.6 KB ) - added by 5 days ago.
- v_loan_monitoring_ins_aft_index.png (34.9 KB ) - added by 5 days ago.
- v_loan_monitoring_index_update.jpg (9.0 KB ) - added by 5 days ago.
- v_account_et.JPG (13.3 KB ) - added by 5 days ago.
- insert_acc.JPG (30.9 KB ) - added by 5 days ago.
- update_acc.JPG (16.3 KB ) - added by 5 days ago.
- v_savings_interest_payments_et.JPG (14.1 KB ) - added by 5 days ago.
- insert_sip.JPG (28.5 KB ) - added by 5 days ago.
- update_sip.JPG (17.6 KB ) - added by 5 days ago.
- v_daily_branch_report_et.JPG (11.3 KB ) - added by 5 days ago.
- insert_v_daily.JPG (24.5 KB ) - added by 5 days ago.
- update_v_daily.JPG (18.4 KB ) - added by 5 days ago.
Note:
See TracWiki
for help on using the wiki.












