Changes between Version 2 and Version 3 of DatabaseProgramming


Ignore:
Timestamp:
06/16/26 11:19:45 (17 hours ago)
Author:
231118
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v2 v3  
    123123Автоматски го поставува времето на подготовка во полето `attempted_at` при внесување нов запис.
    124124
     125==== Materialized Views ====
     126За дополнителна оптимизација беа креирани materialized views за често користени статистички податоци како просечна оцена, број на прегледи и број на омилени рецепти.
     127
     128Користени materialized views:
     129 * recipe_reviews_mv
     130 * recipe_views_mv
     131 * recipe_favorites_mv
     132
     133Оптимизација:
     134{{{
     135CREATE MATERIALIZED VIEW recipe_reviews_mv AS
     136SELECT
     137    recipe_id,
     138    recipe,
     139    AVG(rating) AS average_rating,
     140    COUNT(id) AS total_reviews
     141FROM recipe_reviews_view
     142GROUP BY recipe_id, recipe;
     143
     144CREATE MATERIALIZED VIEW recipe_views_mv AS
     145SELECT
     146    recipe_id,
     147    recipe,
     148    COUNT(user_id) AS total_views
     149FROM recipe_views_view
     150GROUP BY recipe_id, recipe;
     151
     152CREATE MATERIALIZED VIEW recipe_favorites_mv AS
     153SELECT
     154    recipe_id,
     155    recipe,
     156    COUNT(user_id) AS total_favorites
     157FROM user_favorites_view
     158GROUP BY recipe_id, recipe;
     159}}}
     160
     161Заклучок:
     162Materialized views овозможуваат побрзо прикажување на агрегирани податоци бидејќи резултатите се зачувуваат физички во базата и не се пресметуваат повторно при секое извршување.
     163
     164
    125165== Заклучок ==
    126166