Changes between Version 24 and Version 25 of QueryOptimization


Ignore:
Timestamp:
05/07/26 22:36:54 (3 weeks ago)
Author:
231075
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • QueryOptimization

    v24 v25  
    5151
    5252----
    53 
    5453== View2: Договори по клиент (vw_contracts_per_client) ==
    5554
     
    7372[[Image(Client_Vendor_Contract_Update_Pre_Index.png, 800px)]]
    7473
    75 '''5.''' Иницијално беше разгледано индексирање преку `idx_cvc_client_id`, меѓутоа мерењата покажаа дека тој индекс го влошува времето на извршување (399ms → 4s 421ms) поради ниска селективност — колоната client_id враќа многу редови по вредност, па планерот прибегнува кон scatter reads наместо секвенцијален скен. Поради тоа, индексот беше отстранет. Перформансите на овој поглед се подобрени само преку индексите `idx_project_contract_id` и `idx_cvc_vendor_id` креирани во View1. Времето изминато во извршување на query-то изнесува:
     74'''5.''' Иницијално беше разгледано индексирање преку `idx_cvc_client_id`, меѓутоа мерењата покажаа дека тој индекс го влошува времето на извршување (399ms → 4s 421ms) поради ниска селективност — колоната client_id враќа многу редови по вредност, па планерот прибегнува кон scatter reads наместо секвенцијален скен. Поради тоа, индексот беше отстранет.
     75
     76Иако индексите `idx_project_contract_id` и `idx_cvc_vendor_id` од View1 се присутни, планот за извршување останува непроменет — табелата `Client_Vendor_Contract` сеуште се скенира секвенцијално со ист cost од 7k, бидејќи овие индекси не се применливи за филтрирање по client_id. Разликата во времето на извршување од ~100ms е во рамките на нормална варијација и не може да се припише на индексирањето. Се заклучува дека овој поглед не може да се оптимизира преку индексирање.
    7677
    7778[[Image(Contracts_per_Client_Execution_After_Indexing.png, 800px)]]
     
    7980[[Image(Contracts_per_Client_Scan_After_Indexing.png, 800px)]]
    8081
    81 '''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     82'''6.''' Времето на извршување на операциите insert и update останува непроменето. Забележаните разлики во мерењата се должат на надворешни фактори како cache состојба и системска активност, а не на индексирањето.
    8283
    8384[[Image(Client_Vendor_Contract_Insert_After_Indexing.png, 800px)]]