Changes between Version 20 and Version 21 of QueryOptimization


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

--

Legend:

Unmodified
Added
Removed
Modified
  • QueryOptimization

    v20 v21  
    313313[[Image(Budget_per_Vendor_Execution.png, 800px)]]
    314314
     315'''4.''' Иако овој поглед е аналитички и не бара директно индексирање, перформансите се подобрени поради индексите `idx_project_contract_id` и `idx_cvc_vendor_id` креирани во View1. Времето изминато во извршување на query-то по индексирање изнесува:
     316
     317[[Image(Budget_per_Vendor_Execution_After_Indexing.png, 800px)]]
     318
     319'''5.''' Времето на извршување на операциите insert и update останува непроменето бидејќи не се додадени нови индекси за овој поглед.
     320
     321----
     322
     323== View11: Број на проекти по статус по клиент (vw_project_count_by_status_per_client) ==
     324
     325'''1.''' Примарен филтер за погледот `vw_project_count_by_status_per_client` ќе биде според неговото id (client_id на клиентот).
     326
     327'''2.''' Примарен случај на употреба ќе е преглед на бројот на проекти групирани по статус за одреден клиент. Овој поглед е аналитички по природа (пресметува агрегатни вредности со COUNT и GROUP BY) и не бара директно индексирање.
     328
     329'''3.''' Иницијалното время за извршување на погледот е '''317ms'''.
     330
     331[[Image(Project_Count_By_Status_Per_Client_Execution.png, 800px)]]
     332
    315333'''4.''' Најбавните операции се full scan на табелите:
    316334 * `Project` - 26k cost
    317335 * `Client_Vendor_Contract` - 7k cost
    318336
    319 [[Image(Budget_per_Vendor_Scan.png, 800px)]]
    320 
    321 '''5.''' Иако овој поглед е аналитички и не бара директно индексирање, перформансите се подобрени поради индексите `idx_project_contract_id` и `idx_cvc_vendor_id` креирани во View1 (319ms → 39ms). Времето изминато во извршување на query-то по индексирање изнесува:
    322 
    323 [[Image(Budget_per_Vendor_Execution_After_Indexing.png, 800px)]]
    324 
    325 [[Image(Budget_per_Vendor_Scan_After_Indexing.png, 800px)]]
     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)]]
    326344
    327345'''6.''' Времето на извршување на операциите insert и update останува непроменето бидејќи не се додадени нови индекси за овој поглед.
     
    329347----
    330348
    331 == View11: Број на проекти по статус по клиент (vw_project_count_by_status_per_client) ==
    332 
    333 '''1.''' Примарен филтер за погледот `vw_project_count_by_status_per_client` ќе биде според неговото id (client_id на клиентот).
    334 
    335 '''2.''' Примарен случај на употреба ќе е преглед на бројот на проекти групирани по статус за одреден клиент. Овој поглед е аналитички по природа (пресметува агрегатни вредности со COUNT и GROUP BY) и не бара директно индексирање.
     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.
    336354
    337355'''3.''' Иницијалното время за извршување на погледот е '''317ms'''.
    338356
    339 [[Image(Project_Count_By_Status_Per_Client_Execution.png, 800px)]]
     357[[Image(Project_Count_By_Status_Per_Vendor_Execution.png, 800px)]]
    340358
    341359'''4.''' Најбавните операции се full scan на табелите:
     
    343361 * `Client_Vendor_Contract` - 7k cost
    344362
    345 [[Image(Project_Count_By_Status_Per_Client_Scan.png, 800px)]]
    346 
    347 '''5.''' Иако овој поглед е аналитички, беше забележано дека присуството на `idx_cvc_client_id` го влошуваше времето на извршување (317ms → 1s 430ms). По отстранување на тој индекс, перформансите се стабилизирани со индексите `idx_project_contract_id` и `idx_cvc_vendor_id` од View1. Времето изминато во извршување на query-то по индексирање изнесува:
    348 
    349 [[Image(Project_Count_by_Status_per_Client_Execution_After_Indexing.png, 800px)]]
    350 
    351 [[Image(Project_Count_by_Status_per_Client_Scan_After_Indexing.png, 800px)]]
     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)]]
    352370
    353371'''6.''' Времето на извршување на операциите insert и update останува непроменето бидејќи не се додадени нови индекси за овој поглед.
    354 
    355 ----
    356 
    357 == View12: Број на проекти по статус по продавач (vw_project_count_by_status_per_vendor) ==
    358 
    359 '''1.''' Примарен филтер за погледот `vw_project_count_by_status_per_vendor` ќе биде според неговото id (vendor_id на продавачот).
    360 
    361 '''2.''' Примарен случај на употреба ќе е преглед на бројот на проекти групирани по статус за одреден продавач. Овој поглед е аналитички по природа (пресметува агрегатни вредности со COUNT и GROUP BY) и не бара директно индексирање. Сепак, перформансите на овој поглед се подобрени поради индексирањето применето во View1.
    362 
    363 '''3.''' Иницијалното время за извршување на погледот е '''317ms'''.
    364 
    365 [[Image(Project_Count_By_Status_Per_Vendor_Execution.png, 800px)]]
    366 
    367 '''4.''' Најбавните операции се full scan на табелите:
    368  * `Project` - 26k cost
    369  * `Client_Vendor_Contract` - 7k cost
    370 
    371 [[Image(Project_Count_By_Status_Per_Vendor_Scan.png, 800px)]]
    372 
    373 '''5.''' Иако овој поглед е аналитички и не бара директно индексирање, перформансите се подобрени поради индексите `idx_project_contract_id` и `idx_cvc_vendor_id` креирани во View1 (317ms → 63ms). Времето изминато во извршување на query-то по индексирање изнесува:
    374 
    375 [[Image(Project_Count_by_Status_per_Vendor_Execution_After_Indexing.png, 800px)]]
    376 
    377 [[Image(Project_Count_by_Status_per_Vendor_Scan_After_Indexing.png, 800px)]]
    378 
    379 '''6.''' Времето на извршување на операциите insert и update останува непроменето бидејќи не се додадени нови индекси за овој поглед.