Changes between Initial Version and Version 1 of DriverDeliveriesIndex


Ignore:
Timestamp:
05/10/26 14:42:01 (2 weeks ago)
Author:
185022
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DriverDeliveriesIndex

    v1 v1  
     1= Индекс: v_driver_deliveries_index =
     2
     3||= Датотека ||= `indexes/v_driver_deliveries_index.sql` ||
     4||= Шема ||= `kbnteam` ||
     5||= Поврзани прегледи ||= `v_driver_deliveries`, `v_orders_full`, `v_driver_lunch_timers` ||
     6
     7== Опис ==
     8Пет индекси наменети главно за прегледот `v_driver_deliveries`. Покриваат: достави по возач и датум, возачи по ресторан, нарачки по компаниска нарачка, и агрегации на ставки (оброци/пијачи). Повеќето се споделени со `v_orders_full_index.sql`.
     9
     10== DDL ==
     11{{{
     12#!sql
     13-- indexes/v_driver_deliveries_index.sql
     14CREATE INDEX IF NOT EXISTS idx_delivery_driver_user_id_delivery_date
     15ON kbnteam.delivery (driver_user_id, delivery_date);
     16
     17CREATE INDEX IF NOT EXISTS idx_driver_rest_id
     18ON kbnteam.driver (rest_id);
     19
     20CREATE INDEX IF NOT EXISTS idx_customer_order_comp_order_id
     21ON kbnteam.customer_order (comp_order_id);
     22
     23CREATE INDEX IF NOT EXISTS idx_order_meal_order_id_meal_id
     24ON kbnteam.order_meal (order_id, meal_id);
     25
     26CREATE INDEX IF NOT EXISTS idx_order_drink_order_id_drink_id
     27ON kbnteam.order_drink (order_id, drink_id);
     28}}}
     29
     30== Поддржани прегледи ==
     31||= Индекс ||= Прегледи ||= Цел ||
     32|| `idx_delivery_driver_user_id_delivery_date` || `v_driver_deliveries`, `v_orders_full` || WHERE driver_user_id + датумски опсег ||
     33|| `idx_driver_rest_id` || `v_driver_deliveries`, `v_driver_lunch_timers` || JOIN `driver ON drv.rest_id = r.rest_id` ||
     34|| `idx_customer_order_comp_order_id` || `v_driver_deliveries`, `v_orders_full`, `v_reviews_full`, др. || FK JOIN кон `company_order` ||
     35|| `idx_order_meal_order_id_meal_id` || `v_driver_deliveries`, `v_orders_full`, `v_contracts_revenue` || CTE `order_meals` GROUP BY ||
     36|| `idx_order_drink_order_id_drink_id` || `v_driver_deliveries`, `v_orders_full`, `v_contracts_revenue` || CTE `order_drinks` GROUP BY ||
     37
     38== Колонски план ==
     39||= Индекс ||= Колона 1 ||= Колона 2 ||= Причина ||
     40|| `idx_delivery_driver_user_id_delivery_date` || `driver_user_id` || `delivery_date` || Филтрирање по возач во датумски опсег ||
     41|| `idx_driver_rest_id` || `rest_id` || — || JOIN driver.rest_id → restaurant.rest_id ||
     42|| `idx_customer_order_comp_order_id` || `comp_order_id` || — || FK JOIN кон company_order ||
     43|| `idx_order_meal_order_id_meal_id` || `order_id` || `meal_id` || CTE агрегација ||
     44|| `idx_order_drink_order_id_drink_id` || `order_id` || `drink_id` || CTE агрегација ||
     45
     46== Верификација ==
     47{{{
     48#!sql
     49SELECT indexname, indexdef
     50FROM pg_indexes
     51WHERE schemaname = 'kbnteam'
     52  AND indexname IN (
     53      'idx_delivery_driver_user_id_delivery_date',
     54      'idx_driver_rest_id',
     55      'idx_customer_order_comp_order_id',
     56      'idx_order_meal_order_id_meal_id',
     57      'idx_order_drink_order_id_drink_id'
     58  );
     59}}}