Changes between Initial Version and Version 1 of Phase1


Ignore:
Timestamp:
09/04/25 00:45:19 (3 weeks ago)
Author:
213280
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Phase1

    v1 v1  
     1== Креирање на индекси ==
     2
     3Овој поглед служи со цел бизнисите да имаат преглед на најпродаваните производи за одреден месец и година. Ваквиот поглед би се користел од страна на корисниците кои што ја имаат улогата на BUSINESS_ADMIN во нашиот систем. Поради тоа што правиме поврзување на повеќе табели, потребно е да креираме и неколку индекси со што прашалниците кои би се извршувале врз погледот “[top_items_in_order_for_business]” имаат подобри перформанси.
     4
     5----
     6
     7За таа цел ги креираме следните индекси:
     8
     9[[Image(created_indexes.png)]]
     10
     11Креираните индекси претставуваат индекс од тип B-tree. Подолу може да ги видиме планот на извршување и самото време на извршување на два прашалници кои би биле чести во нашата апликација и нивните перформанси пред и по додавање на индексите. Поради тоа што нашата база содржи милионски број на податоци, кога ги извршуваме прашалниците, времето на извршување изнесува 5,3 секунди и 3.7 секунди (слика 2 – Execution-time-before-indexing и слика 5 – Execution-time-before-indexing), додека по додавањето на индексите времето изнесува 3.5 секунди и 2.5 секунди (слика 8 – Execution-time-after-indexing и слика 10 – execution-time-after-indexing).
     12
     13•       Слика 1 – View
     14•       Слика 2 – Execution-time-before-indexing-query1
     15•       Слика 3 – Еxecution-plan-before-indexing-query1
     16•       Слика 4 – Execution-time-before-indexing-query2
     17•       Слика 5 – Execution-plan-before-indexing-query2
     18•       Слика 6 – Execution-time-after-indexing-query1
     19•       Слика 7 – Execution-plan-after-indexing-query1
     20•       Слика 8 - Execution-time-after-indexing-query2
     21•       Слика 9 - Execution-plan-after-indexing-query2
     22
     23----
     24
     25[[Image(top_items_in_order_for_business_create_view.png)]]
     26
     27[[Image(1_view_query_1_execution_plan_before_indexing.png)]]
     28
     29[[Image(1_view_query_1_execution_time_before_indexing.png)]]
     30
     31[[Image(1_view_query_2_execution_plan-before_indexing.png)]]
     32
     33[[Image(1_view_query_2_execution_time_before_indexing.png)]]
     34
     35
     36[[Image(1_view_query_1_execution_time_after_indexing.png)]]
     37
     38[[Image(1_view_query_1_execution_plan_after_indexing.png)]]
     39
     40[[Image(1_view_query_2_execution_time_after_indexing.png)]]
     41
     42[[Image(1_view_query_2_execution_plan_after_indexing.png)]]
     43
     44
     45== Дополнителни погледи ==
     46
     47[[Image(user_favourite_businesses_view.png)]]
     48
     49----
     50
     51Преку ваквиот поглед би можеле да ги добиеме омилените бизниси од кој што купувал корисникот според тоа колку потрошил кај самиот бизнис.
     52Затоа што перформансите на прашалниците кои се поврзани со овој поглед се прилично добри околу (400 ms) немаме креирано некои дополнителни индекси. Но доколку перформансите ослабнат потенцијални индекси би биле:
     53
     54[[Image(view_2_query_1_potential_indexes.png)]]
     55
     56---
     57
     58Исто така битно е да се знае дека иако со креирање на соодветни индекси ги подобрување перформансите за читање на податоците од базата со самото нивно креирање зафаќаме и повеќе простор на дискот. Затоа треба да бидеме претпазливи кога додаваме нови индекси поради тоа што се намалуваат перформансите при креирање, промена и бришење на редови од табела во која што имаме индекси.
     59
     60
     61
     62
     63
     64
     65