Changes between Version 21 and Version 22 of QueryOptimization


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

--

Legend:

Unmodified
Added
Removed
Modified
  • QueryOptimization

    v21 v22  
    309309'''2.''' Примарен случај на употреба ќе е преглед на вкупниот буџет потрошен по продавач низ сите проекти и договори. Овој поглед е аналитички по природа (пресметува агрегатни вредности со SUM и COUNT) и не бара директно индексирање. Сепак, перформансите на овој поглед се подобрени поради индексирањето применето во View1.
    310310
    311 '''3.''' Иницијалното время за извршување на погледот е '''319ms'''.
     311'''3.''' Иницијалното време за извршување на погледот е '''319ms'''.
    312312
    313313[[Image(Budget_per_Vendor_Execution.png, 800px)]]
     
    330330
    331331[[Image(Project_Count_By_Status_Per_Client_Execution.png, 800px)]]
     332
     333
     334'''4.''' Иако овој поглед е аналитички и не бара директно индексирање, перформансите се подобрени поради индексите `idx_project_contract_id` и `idx_cvc_vendor_id` креирани во View1. Времето изминато во извршување на query-то по индексирање изнесува:
     335
     336[[Image(Project_Count_by_Status_per_Client_Execution_After_Indexing.png, 800px)]]
     337
     338
     339'''5.''' Времето на извршување на операциите insert и update останува непроменето бидејќи не се додадени нови индекси за овој поглед.
     340
     341----
     342
     343== View12: Број на проекти по статус по продавач (vw_project_count_by_status_per_vendor) ==
     344
     345'''1.''' Примарен филтер за погледот `vw_project_count_by_status_per_vendor` ќе биде според неговото id (vendor_id на продавачот).
     346
     347'''2.''' Примарен случај на употреба ќе е преглед на бројот на проекти групирани по статус за одреден продавач. Овој поглед е аналитички по природа (пресметува агрегатни вредности со COUNT и GROUP BY) и не бара директно индексирање. Сепак, перформансите на овој поглед се подобрени поради индексирањето применето во View1.
     348
     349'''3.''' Иницијалното време за извршување на погледот е '''317ms'''.
     350
     351[[Image(Project_Count_By_Status_Per_Vendor_Execution.png, 800px)]]
    332352
    333353'''4.''' Најбавните операции се full scan на табелите:
     
    335355 * `Client_Vendor_Contract` - 7k cost
    336356
    337 [[Image(Project_Count_By_Status_Per_Client_Scan.png, 800px)]]
    338 
    339 '''5.''' Иако овој поглед е аналитички, беше забележано дека присуството на `idx_cvc_client_id` го влошуваше времето на извршување (317ms → 1s 430ms). По отстранување на тој индекс, перформансите се стабилизирани со индексите `idx_project_contract_id` и `idx_cvc_vendor_id` од View1. Времето изминато во извршување на query-то по индексирање изнесува:
    340 
    341 [[Image(Project_Count_by_Status_per_Client_Execution_After_Indexing.png, 800px)]]
    342 
    343 [[Image(Project_Count_by_Status_per_Client_Scan_After_Indexing.png, 800px)]]
     357[[Image(Project_Count_By_Status_Per_Vendor_Scan.png, 800px)]]
     358
     359'''5.''' Иако овој поглед е аналитички и не бара директно индексирање, перформансите се подобрени поради индексите `idx_project_contract_id` и `idx_cvc_vendor_id` креирани во View1 (317ms → 63ms). Времето изминато во извршување на query-то по индексирање изнесува:
     360
     361[[Image(Project_Count_by_Status_per_Vendor_Execution_After_Indexing.png, 800px)]]
     362
     363[[Image(Project_Count_by_Status_per_Vendor_Scan_After_Indexing.png, 800px)]]
    344364
    345365'''6.''' Времето на извршување на операциите insert и update останува непроменето бидејќи не се додадени нови индекси за овој поглед.
    346 
    347 ----
    348 
    349 == View12: Број на проекти по статус по продавач (vw_project_count_by_status_per_vendor) ==
    350 
    351 '''1.''' Примарен филтер за погледот `vw_project_count_by_status_per_vendor` ќе биде според неговото id (vendor_id на продавачот).
    352 
    353 '''2.''' Примарен случај на употреба ќе е преглед на бројот на проекти групирани по статус за одреден продавач. Овој поглед е аналитички по природа (пресметува агрегатни вредности со COUNT и GROUP BY) и не бара директно индексирање. Сепак, перформансите на овој поглед се подобрени поради индексирањето применето во View1.
    354 
    355 '''3.''' Иницијалното время за извршување на погледот е '''317ms'''.
    356 
    357 [[Image(Project_Count_By_Status_Per_Vendor_Execution.png, 800px)]]
    358 
    359 '''4.''' Најбавните операции се full scan на табелите:
    360  * `Project` - 26k cost
    361  * `Client_Vendor_Contract` - 7k cost
    362 
    363 [[Image(Project_Count_By_Status_Per_Vendor_Scan.png, 800px)]]
    364 
    365 '''5.''' Иако овој поглед е аналитички и не бара директно индексирање, перформансите се подобрени поради индексите `idx_project_contract_id` и `idx_cvc_vendor_id` креирани во View1 (317ms → 63ms). Времето изминато во извршување на query-то по индексирање изнесува:
    366 
    367 [[Image(Project_Count_by_Status_per_Vendor_Execution_After_Indexing.png, 800px)]]
    368 
    369 [[Image(Project_Count_by_Status_per_Vendor_Scan_After_Indexing.png, 800px)]]
    370 
    371 '''6.''' Времето на извршување на операциите insert и update останува непроменето бидејќи не се додадени нови индекси за овој поглед.