Changes between Initial Version and Version 1 of QueryOptimization


Ignore:
Timestamp:
05/06/26 00:39:28 (3 weeks ago)
Author:
231075
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • QueryOptimization

    v1 v1  
     1= Напредни бази на податоци =
     2== Фаза 4 - Индекси и оптимизација на прашалници ==
     3=== Проект: Vendor Quality Evaluation and Management System ===
     4
     5----
     6
     7== View1: Просечна оценка по продавач (vw_avg_rating_per_vendor) ==
     8
     9'''1.''' Примарен филтер за погледот `vw_avg_rating_per_vendor` ќе биде според неговото id (vendor_id на продавачот).
     10
     11'''2.''' Примарен случај на употреба ќе е преглед на просечната оценка на секој продавач врз основа на рецензии од проекти. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     12
     13'''3.''' Иницијалното време за извршување на погледот е '''1m 24s 217ms'''. Ова не е прифатливо време за апликацијата па затоа пристапуваме кон индексирање.
     14
     15''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 1m 24s 217ms]''
     16
     17'''4.''' Најбавните операции се full scan на табелите:
     18 * `Project` - 26k cost
     19 * `Client_Vendor_Contract` - 7k cost
     20
     21''[SCREENSHOT: Explain Plan приказ пред индексирање - прикажи го целото дрво со Full Scan редовите истакнати]''
     22
     23Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     24
     25''[SCREENSHOT: INSERT во Project - пред индексирање]''
     26
     27''[SCREENSHOT: UPDATE во Project - пред индексирање]''
     28
     29''[SCREENSHOT: INSERT во Client_Vendor_Contract - пред индексирање]''
     30
     31''[SCREENSHOT: UPDATE во Client_Vendor_Contract - пред индексирање]''
     32
     33'''5.''' По креирање на индексите:
     34
     35{{{
     36CREATE INDEX idx_project_contract_id ON Project (contract_id);
     37CREATE INDEX idx_cvc_client_id ON Client_Vendor_Contract (client_id);
     38CREATE INDEX idx_cvc_vendor_id ON Client_Vendor_Contract (vendor_id);
     39}}}
     40
     41Времето изминато во извршување на query-то со индекси изнесува:
     42
     43''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     44
     45''[SCREENSHOT: Explain Plan по индексирање - прикажи ги Index Scan редовите наместо Full Scan]''
     46
     47'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     48
     49''[SCREENSHOT: INSERT во Project - по индексирање]''
     50
     51''[SCREENSHOT: UPDATE во Project - по индексирање]''
     52
     53''[SCREENSHOT: INSERT во Client_Vendor_Contract - по индексирање]''
     54
     55''[SCREENSHOT: UPDATE во Client_Vendor_Contract - по индексирање]''
     56
     57----
     58
     59== View2: Вкупен буџет по клиент (vw_budget_per_client) ==
     60
     61'''1.''' Примарен филтер за погледот `vw_budget_per_client` ќе биде според неговото id (client_id на клиентот).
     62
     63'''2.''' Примарен случај на употреба ќе е преглед на вкупниот буџет потрошен по клиент низ сите проекти и договори. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     64
     65'''3.''' Иницијалното време за извршување на погледот е '''320ms'''. Ова не е прифатливо време за апликацијата па затоа пристапуваме кон индексирање.
     66
     67''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 320ms]''
     68
     69'''4.''' Најбавните операции се full scan на табелите:
     70 * `Project` - 26k cost
     71 * `Client_Vendor_Contract` - 7k cost
     72
     73''[SCREENSHOT: Explain Plan приказ пред индексирање]''
     74
     75Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     76
     77''[SCREENSHOT: INSERT во Project - пред индексирање]''
     78
     79''[SCREENSHOT: UPDATE во Project - пред индексирање]''
     80
     81''[SCREENSHOT: INSERT во Client_Vendor_Contract - пред индексирање]''
     82
     83''[SCREENSHOT: UPDATE во Client_Vendor_Contract - пред индексирање]''
     84
     85'''5.''' Индексите креирани во View1 ги покриваат и овие табели. Времето изминато во извршување на query-то со индекси изнесува:
     86
     87''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     88
     89''[SCREENSHOT: Explain Plan по индексирање]''
     90
     91'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     92
     93''[SCREENSHOT: INSERT во Project - по индексирање]''
     94
     95''[SCREENSHOT: UPDATE во Project - по индексирање]''
     96
     97''[SCREENSHOT: INSERT во Client_Vendor_Contract - по индексирање]''
     98
     99''[SCREENSHOT: UPDATE во Client_Vendor_Contract - по индексирање]''
     100
     101----
     102
     103== View3: Вкупен буџет по продавач (vw_budget_per_vendor) ==
     104
     105'''1.''' Примарен филтер за погледот `vw_budget_per_vendor` ќе биде според неговото id (vendor_id на продавачот).
     106
     107'''2.''' Примарен случај на употреба ќе е преглед на вкупниот буџет потрошен по продавач низ сите проекти и договори. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     108
     109'''3.''' Иницијалното време за извршување на погледот е '''319ms'''. Ова не е прифатливо време за апликацијата па затоа пристапуваме кон индексирање.
     110
     111''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 319ms]''
     112
     113'''4.''' Најбавните операции се full scan на табелите:
     114 * `Project` - 26k cost
     115 * `Client_Vendor_Contract` - 7k cost
     116
     117''[SCREENSHOT: Explain Plan приказ пред индексирање]''
     118
     119Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     120
     121''[SCREENSHOT: INSERT во Project - пред индексирање]''
     122
     123''[SCREENSHOT: UPDATE во Project - пред индексирање]''
     124
     125''[SCREENSHOT: INSERT во Client_Vendor_Contract - пред индексирање]''
     126
     127''[SCREENSHOT: UPDATE во Client_Vendor_Contract - пред индексирање]''
     128
     129'''5.''' Индексите креирани во View1 ги покриваат и овие табели. Времето изминато во извршување на query-то со индекси изнесува:
     130
     131''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     132
     133''[SCREENSHOT: Explain Plan по индексирање]''
     134
     135'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     136
     137''[SCREENSHOT: INSERT во Project - по индексирање]''
     138
     139''[SCREENSHOT: UPDATE во Project - по индексирање]''
     140
     141''[SCREENSHOT: INSERT во Client_Vendor_Contract - по индексирање]''
     142
     143''[SCREENSHOT: UPDATE во Client_Vendor_Contract - по индексирање]''
     144
     145----
     146
     147== View4: Клиенти по индустрија (vw_clients_per_industry) ==
     148
     149'''1.''' Примарен филтер за погледот `vw_clients_per_industry` ќе биде според неговото id (industry_id на индустријата).
     150
     151'''2.''' Примарен случај на употреба ќе е преглед на сите клиенти кои припаѓаат на одредена индустрија. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     152
     153'''3.''' Иницијалното време за извршување на погледот е '''94ms'''. Ова не е прифатливо време за апликацијата па затоа пристапуваме кон индексирање.
     154
     155''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 94ms]''
     156
     157'''4.''' Најбавната операција е full scan на табелата:
     158 * `Client` - 500 cost
     159
     160''[SCREENSHOT: Explain Plan приказ пред индексирање]''
     161
     162Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     163
     164''[SCREENSHOT: INSERT во Client - пред индексирање]''
     165
     166''[SCREENSHOT: UPDATE во Client - пред индексирање]''
     167
     168'''5.''' По креирање на индексот:
     169
     170{{{
     171CREATE INDEX idx_client_industry_id ON Client (industry_id);
     172}}}
     173
     174Времето изминато во извршување на query-то со индекси изнесува:
     175
     176''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     177
     178''[SCREENSHOT: Explain Plan по индексирање]''
     179
     180'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     181
     182''[SCREENSHOT: INSERT во Client - по индексирање]''
     183
     184''[SCREENSHOT: UPDATE во Client - по индексирање]''
     185
     186----
     187
     188== View5: Договори по клиент (vw_contracts_per_client) ==
     189
     190'''1.''' Примарен филтер за погледот `vw_contracts_per_client` ќе биде според неговото id (client_id на клиентот).
     191
     192'''2.''' Примарен случај на употреба ќе е преглед на сите активни и историски договори за одреден клиент. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     193
     194'''3.''' Иницијалното време за извршување на погледот е '''399ms'''. Ова не е прифатливо време за апликацијата па затоа пристапуваме кон индексирање.
     195
     196''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 399ms]''
     197
     198'''4.''' Најбавната операција е full scan на табелата:
     199 * `Client_Vendor_Contract` - 7k cost
     200
     201''[SCREENSHOT: Explain Plan приказ пред индексирање]''
     202
     203Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     204
     205''[SCREENSHOT: INSERT во Client_Vendor_Contract - пред индексирање]''
     206
     207''[SCREENSHOT: UPDATE во Client_Vendor_Contract - пред индексирање]''
     208
     209'''5.''' Индексите креирани во View1 ги покриваат и овие табели. Времето изминато во извршување на query-то со индекси изнесува:
     210
     211''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     212
     213''[SCREENSHOT: Explain Plan по индексирање]''
     214
     215'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     216
     217''[SCREENSHOT: INSERT во Client_Vendor_Contract - по индексирање]''
     218
     219''[SCREENSHOT: UPDATE во Client_Vendor_Contract - по индексирање]''
     220
     221----
     222
     223== View6: Договори по продавач (vw_contracts_per_vendor) ==
     224
     225'''1.''' Примарен филтер за погледот `vw_contracts_per_vendor` ќе биде според неговото id (vendor_id на продавачот).
     226
     227'''2.''' Примарен случај на употреба ќе е преглед на сите активни и историски договори за одреден продавач. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     228
     229'''3.''' Иницијалното време за извршување на погледот е '''5s 887ms'''. Ова не е прифатливо време за апликацијата па затоа пристапуваме кон индексирање.
     230
     231''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 5s 887ms]''
     232
     233'''4.''' Најбавната операција е full scan на табелата:
     234 * `Client_Vendor_Contract` - 7k cost
     235
     236''[SCREENSHOT: Explain Plan приказ пред индексирање]''
     237
     238Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     239
     240''[SCREENSHOT: INSERT во Client_Vendor_Contract - пред индексирање]''
     241
     242''[SCREENSHOT: UPDATE во Client_Vendor_Contract - пред индексирање]''
     243
     244'''5.''' Индексите креирани во View1 ги покриваат и овие табели. Времето изминато во извршување на query-то со индекси изнесува:
     245
     246''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     247
     248''[SCREENSHOT: Explain Plan по индексирање]''
     249
     250'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     251
     252''[SCREENSHOT: INSERT во Client_Vendor_Contract - по индексирање]''
     253
     254''[SCREENSHOT: UPDATE во Client_Vendor_Contract - по индексирање]''
     255
     256----
     257
     258== View7: Број на проекти по статус по клиент (vw_project_count_by_status_per_client) ==
     259
     260'''1.''' Примарен филтер за погледот `vw_project_count_by_status_per_client` ќе биде според неговото id (client_id на клиентот).
     261
     262'''2.''' Примарен случај на употреба ќе е преглед на бројот на проекти групирани по статус за одреден клиент. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     263
     264'''3.''' Иницијалното време за извршување на погледот е '''317ms'''. Ова не е прифатливо време за апликацијата па затоа пристапуваме кон индексирање.
     265
     266''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 317ms]''
     267
     268'''4.''' Најбавните операции се full scan на табелите:
     269 * `Project` - 26k cost
     270 * `Client_Vendor_Contract` - 7k cost
     271
     272''[SCREENSHOT: Explain Plan приказ пред индексирање]''
     273
     274Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     275
     276''[SCREENSHOT: INSERT во Project - пред индексирање]''
     277
     278''[SCREENSHOT: UPDATE во Project - пред индексирање]''
     279
     280''[SCREENSHOT: INSERT во Client_Vendor_Contract - пред индексирање]''
     281
     282''[SCREENSHOT: UPDATE во Client_Vendor_Contract - пред индексирање]''
     283
     284'''5.''' Индексите креирани во View1 ги покриваат и овие табели. Времето изминато во извршување на query-то со индекси изнесува:
     285
     286''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     287
     288''[SCREENSHOT: Explain Plan по индексирање]''
     289
     290'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     291
     292''[SCREENSHOT: INSERT во Project - по индексирање]''
     293
     294''[SCREENSHOT: UPDATE во Project - по индексирање]''
     295
     296''[SCREENSHOT: INSERT во Client_Vendor_Contract - по индексирање]''
     297
     298''[SCREENSHOT: UPDATE во Client_Vendor_Contract - по индексирање]''
     299
     300----
     301
     302== View8: Број на проекти по статус по продавач (vw_project_count_by_status_per_vendor) ==
     303
     304'''1.''' Примарен филтер за погледот `vw_project_count_by_status_per_vendor` ќе биде според неговото id (vendor_id на продавачот).
     305
     306'''2.''' Примарен случај на употреба ќе е преглед на бројот на проекти групирани по статус за одреден продавач. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     307
     308'''3.''' Иницијалното време за извршување на погледот е '''317ms'''. Ова не е прифатливо време за апликацијата па затоа пристапуваме кон индексирање.
     309
     310''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 317ms]''
     311
     312'''4.''' Најбавните операции се full scan на табелите:
     313 * `Project` - 26k cost
     314 * `Client_Vendor_Contract` - 7k cost
     315
     316''[SCREENSHOT: Explain Plan приказ пред индексирање]''
     317
     318Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     319
     320''[SCREENSHOT: INSERT во Project - пред индексирање]''
     321
     322''[SCREENSHOT: UPDATE во Project - пред индексирање]''
     323
     324''[SCREENSHOT: INSERT во Client_Vendor_Contract - пред индексирање]''
     325
     326''[SCREENSHOT: UPDATE во Client_Vendor_Contract - пред индексирање]''
     327
     328'''5.''' Индексите креирани во View1 ги покриваат и овие табели. Времето изминато во извршување на query-то со индекси изнесува:
     329
     330''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     331
     332''[SCREENSHOT: Explain Plan по индексирање]''
     333
     334'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     335
     336''[SCREENSHOT: INSERT во Project - по индексирање]''
     337
     338''[SCREENSHOT: UPDATE во Project - по индексирање]''
     339
     340''[SCREENSHOT: INSERT во Client_Vendor_Contract - по индексирање]''
     341
     342''[SCREENSHOT: UPDATE во Client_Vendor_Contract - по индексирање]''
     343
     344----
     345
     346== View9: Проекти по клиент (vw_projects_per_client) ==
     347
     348'''1.''' Примарен филтер за погледот `vw_projects_per_client` ќе биде според неговото id (client_id на клиентот).
     349
     350'''2.''' Примарен случај на употреба ќе е преглед на сите проекти поврзани со одреден клиент. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     351
     352'''3.''' Иницијалното време за извршување на погледот е '''626ms'''. Ова не е прифатливо време за апликацијата па затоа пристапуваме кон индексирање.
     353
     354''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 626ms]''
     355
     356'''4.''' Најбавните операции се full scan на табелите:
     357 * `Project` - 26k cost
     358 * `Client_Vendor_Contract` - 7k cost
     359
     360''[SCREENSHOT: Explain Plan приказ пред индексирање]''
     361
     362Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     363
     364''[SCREENSHOT: INSERT во Project - пред индексирање]''
     365
     366''[SCREENSHOT: UPDATE во Project - пред индексирање]''
     367
     368''[SCREENSHOT: INSERT во Client_Vendor_Contract - пред индексирање]''
     369
     370''[SCREENSHOT: UPDATE во Client_Vendor_Contract - пред индексирање]''
     371
     372'''5.''' Индексите креирани во View1 ги покриваат и овие табели. Времето изминато во извршување на query-то со индекси изнесува:
     373
     374''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     375
     376''[SCREENSHOT: Explain Plan по индексирање]''
     377
     378'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     379
     380''[SCREENSHOT: INSERT во Project - по индексирање]''
     381
     382''[SCREENSHOT: UPDATE во Project - по индексирање]''
     383
     384''[SCREENSHOT: INSERT во Client_Vendor_Contract - по индексирање]''
     385
     386''[SCREENSHOT: UPDATE во Client_Vendor_Contract - по индексирање]''
     387
     388----
     389
     390== View10: Проекти по продавач (vw_projects_per_vendor) ==
     391
     392'''1.''' Примарен филтер за погледот `vw_projects_per_vendor` ќе биде според неговото id (vendor_id на продавачот).
     393
     394'''2.''' Примарен случај на употреба ќе е преглед на сите проекти поврзани со одреден продавач. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     395
     396'''3.''' Иницијалното време за извршување на погледот е '''445ms'''. Ова не е прифатливо vrijeme за апликацијата па затоа пристапуваме кон индексирање.
     397
     398''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 445ms]''
     399
     400'''4.''' Најбавните операции се full scan на табелите:
     401 * `Project` - 26k cost
     402 * `Client_Vendor_Contract` - 7k cost
     403
     404''[SCREENSHOT: Explain Plan приказ пред индексирање]''
     405
     406Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     407
     408''[SCREENSHOT: INSERT во Project - пред индексирање]''
     409
     410''[SCREENSHOT: UPDATE во Project - пред индексирање]''
     411
     412''[SCREENSHOT: INSERT во Client_Vendor_Contract - пред индексирање]''
     413
     414''[SCREENSHOT: UPDATE во Client_Vendor_Contract - пред индексирање]''
     415
     416'''5.''' Индексите креирани во View1 ги покриваат и овие табели. Времето изминато во извршување на query-то со индекси изнесува:
     417
     418''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     419
     420''[SCREENSHOT: Explain Plan по индексирање]''
     421
     422'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     423
     424''[SCREENSHOT: INSERT во Project - по индексирање]''
     425
     426''[SCREENSHOT: UPDATE во Project - по индексирање]''
     427
     428''[SCREENSHOT: INSERT во Client_Vendor_Contract - по индексирање]''
     429
     430''[SCREENSHOT: UPDATE во Client_Vendor_Contract - по индексирање]''
     431
     432----
     433
     434== View11: Нерешени тикети за спорови (vw_unresolved_dispute_tickets) ==
     435
     436'''1.''' Примарен филтер за погледот `vw_unresolved_dispute_tickets` ќе биде според project_id на проектот или assigned_management_user_id на корисникот.
     437
     438'''2.''' Примарен случај на употреба ќе е преглед на сите активни нерешени тикети за спорови доделени на одреден менаџмент корисник или поврзани со одреден проект. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     439
     440'''3.''' Иницијалното време за извршување на погледот е '''731ms'''. Ова не е прифатливо vrijeme за апликацијата па затоа пристапуваме кон индексирање.
     441
     442''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 731ms]''
     443
     444'''4.''' Најбавната операција е full scan на табелата:
     445 * `Dispute_Ticket` - 9k cost
     446
     447''[SCREENSHOT: Explain Plan приказ пред индексирање]''
     448
     449Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     450
     451''[SCREENSHOT: INSERT во Dispute_Ticket - пред индексирање]''
     452
     453''[SCREENSHOT: UPDATE во Dispute_Ticket - пред индексирање]''
     454
     455'''5.''' По креирање на индексите:
     456
     457{{{
     458CREATE INDEX idx_dispute_ticket_review_id ON Dispute_Ticket (review_id);
     459CREATE INDEX idx_dispute_ticket_is_resolved ON Dispute_Ticket (is_resolved);
     460}}}
     461
     462Времето изминато во извршување на query-то со индекси изнесува:
     463
     464''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     465
     466''[SCREENSHOT: Explain Plan по индексирање]''
     467
     468'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     469
     470''[SCREENSHOT: INSERT во Dispute_Ticket - по индексирање]''
     471
     472''[SCREENSHOT: UPDATE во Dispute_Ticket - по индексирање]''
     473
     474----
     475
     476== View12: Претплати на продавачи (vw_vendor_subscriptions) ==
     477
     478'''1.''' Примарен филтер за погледот `vw_vendor_subscriptions` ќе биде според неговото id (vendor_id на продавачот).
     479
     480'''2.''' Примарен случај на употреба ќе е преглед на активните и историските претплати за одреден продавач. За овој поглед ни се важни перформансите, бидејќи без него се губи време при извршување.
     481
     482'''3.''' Иницијалното време за извршување на погледот е '''37ms'''. Ова е прифатливо време за апликацијата.
     483
     484''[SCREENSHOT: SELECT извршување пред индексирање - резултат со време 37ms]''
     485
     486'''4.''' Најбавната операција е full scan на табелата:
     487 * `Vendor_Subscription` - 180 cost
     488
     489Иако времето е прифатливо, сепак пристапуваме кон индексирање за дополнителна оптимизација.
     490
     491''[SCREENSHOT: Explain Plan приказ пред индексирање]''
     492
     493Времето изминато во извршување на операциите insert и update пред индексирање изнесува:
     494
     495''[SCREENSHOT: INSERT во Vendor_Subscription - пред индексирање]''
     496
     497''[SCREENSHOT: UPDATE во Vendor_Subscription - пред индексирање]''
     498
     499'''5.''' По креирање на индексите:
     500
     501{{{
     502CREATE INDEX idx_vendorsub_vendor_id ON Vendor_Subscription (vendor_id);
     503CREATE INDEX idx_vendorsub_tier_id ON Vendor_Subscription (tier_id);
     504}}}
     505
     506Времето изминато во извршување на query-то со индекси изнесува:
     507
     508''[SCREENSHOT: SELECT извршување по индексирање - прикажи го новото време]''
     509
     510''[SCREENSHOT: Explain Plan по индексирање]''
     511
     512'''6.''' Времето изминато во извршување на операциите insert и update по индексирање изнесува:
     513
     514''[SCREENSHOT: INSERT во Vendor_Subscription - по индексирање]''
     515
     516''[SCREENSHOT: UPDATE во Vendor_Subscription - по индексирање]''