Changes between Version 79 and Version 80 of QueryOptimization


Ignore:
Timestamp:
06/30/26 00:52:10 (6 days ago)
Author:
231027
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • QueryOptimization

    v79 v80  
    963963||Planning Time: 0.125 ms||
    964964||Execution Time: 0.155 ms||
     965
     966
     967
     968
     969
     970
     971
     972== Анализа и оптимизација на `Event_Overall_Ratings`
     973
     974Овој поглед ја прикажува деталната физичка структура на секој објект (сала), поврзувајќи ги поединечните седишта со нивните сектори и самите локации. Патеката на релациите е поставена линеарно, овозможувајќи брза проверка на точната позиција на седиштето преку неговиот ред и број.
     975
     976{{{
     977
     978CREATE MATERIALIZED VIEW "Event_Overall_Ratings" AS
     979SELECT
     980    e.event_id,
     981    e.name AS event_name,
     982    eh.event_happening_id,
     983    eh.event_time,
     984    COUNT(ehr.rating_id) AS total_reviews,
     985    COALESCE(ROUND(AVG(ehr.rating), 2), 0.00) AS average_rating
     986FROM "Event" e
     987JOIN "Event_Happening" eh ON e.event_id = eh.event_id
     988LEFT JOIN "Event_Happening_Rating" ehr ON eh.event_happening_id = ehr.event_happening_id
     989GROUP BY e.event_id, e.name, eh.event_happening_id, eh.event_time;
     990
     991}}}
     992
     993Погледот е веќе најоптимално напишан и не треба да се преуредува.
     994
     995==== 1. Примарен филтер:
     996
     997`event_happening_id` (за специфични оценки по настан) или `event_id` (за севкупни оценки на серија настани).
     998
     999==== 2. Случај на употреба:
     1000
     1001Прикажување на рејтингот на настанот во „Event Details“ страницата или генерирање на листа на „Најдобро оценети настани“ за администраторите.
     1002
     1003==== 3. Оптимизација:
     1004
     1005Овој поглед е оптимално напишан со '''LEFT JOIN''' и '''GROUP BY''', што овозможува агрегација на сите оценки во еден чекор. Не бара индексирање бидејќи податоците се веќе пресметани и зачувани во материјализираната форма.