Оптимизација на прашалници и погледи
Погледи
Овие погледи ги откриваат менито на ресторанот за пребарувањ и нарачки базирани на договорот помеѓу ресторанот и фирмата.
| Поглед | Цел | Изворни табели | Забелешки
|
|---|
| v_menu_meal | Ги листа сите оброци со категорија, ресторан, состојки и алергени | meal, category, restaurant, meal_ingredient, ingredient, alergen_ingredient, alergen | Користи CTE табели и string агрегација за листање на состојки/алергени
|
| v_menu_drink | Ги листа сите пијалоци со детали за ресторанот | drink, restaurant | Обичен join поглед без агрегации.
|
Orders и Deliveries
Овие погледи се основните оперативни погледи за креирање нарачки преку веб апликацијата.
| Поглед | Цел | Изворни табели | Забелешки
|
|---|
| v_orders_full | Покажува целосни детали за една нарачка, контекст заз купувач/компанија, достава и нарачани предмети. | customer_order, company_order, customer, api_user, company, delivery, delivery_status, driver, order_status, order_meal, order_drink, meal, drink | Користи CTE табели за да агрегира нарачани оброци и пијалоци во читливи листи
|
| v_driver_deliveries | Покажува назначени достави за возачи и соодветните нарачки | delivery, delivery_status, driver, api_user, restaurant, company_order, company, customer_order, customer, order_meal, order_drink, meal, drink | Го користи истиот шаблон за агрегирање на елементи од нарачката како и v_orders_full
|
Reviews
Овој поглед ги спојува двата поттипа на review во еден извештај.
| Поглед | Цел | Изворни табели | Забелешки
|
|---|
| v_reviews_full | Дава унифициран извештај за оценки на нарачки и достави. | review, order_review, delivery_review, customer_order, delivery, company_order, customer, driver, api_user, company | Користи UNION ALL да ги комбинира двата дела од извештајот
|
Contracts, Billing и Loyalty
Овие погледи поддржуваат креирање извештаи на ниво на компанија.
| Поглед | Цел | Изворни табели | Забелешки
|
|---|
| v_contracts_revenue | Го сумаризира приходот по компанија и ресторан за активните договори. | contract, company, restaurant, contract_status, customer_order, company_order, order_meal, order_drink, meal, drink | Користи restaurant-by-order CTE табела да ги мапира измешаните нарачки назад до ресторанот
|
| v_company_billing_overview | Покажува салдо од фактури, број на нарачки по customer и број на компаниски договори. | invoice, company_order, customer_order, contract, company | Користи CTE табели за број на договори на компанија и салдо од фактури.
|
| v_customer_loyalty_full_v2 | Го покажува статусот на лојалност (loyalty status), информации за ниво (tier) и статистика за нарачки на еден муштерија. | customer_loyalty, customer, company, api_user, customer_loyalty_status, loyalty_tier, customer_order | /
|
Operational Support
Овие погледи поддржуваат internal routing, scheduling, и shared company membership pages.
| Поглед | Цел | Изворни табели | Забелешки
|
|---|
| v_driver_lunch_timers | Ги листа распоредите за ручек за возачи, договори и компании. | lunch_time, contract, company, restaurant, driver, api_user | Најдобро за неделно распоредување и потсетници за возачите.
|
| v_company_users | Ги комбинира customers, drivers, и api_admin корисници во еден поглед за компаниите. | customer, company, contract, restaurant, driver, api_admin, api_user | Користи UNION за да ги прикаже трите вида на улоги заедно.
|
| v_customer_contract_meals | Ги листа оброците кои се достапни на available to a customer under active contracts | customer, api_user, company, contract, contract_status, restaurant, meal, category, meal_ingredient, ingredient, alergen_ingredient, alergen | Filters to active contracts and current contract dates only
|
| v_customer_contract_drinks | Ги листа пијалоците достапни на клиент со активен договор. | customer, api_user, company, contract, contract_status, restaurant, drink | Исто филтрирање како погледот за оброци.
|
| v_customer_contract_menu | Ги комбинира погледите за оброци и пијалоци достапни под еден договор во едно мени. | v_customer_contract_meals, v_customer_contract_drinks | Користи UNION ALL и item_type дискриминатор.
|
Индекси
| Датотека на индекс | Индекси | Поддржани погледи | Забелешки
|
|---|
| indexes/v_menu_meal_index.sql | meal(cat_id, meal_id), meal_ingredient(meal_id, ingr_id), alergen_ingredient(ingr_id, alergen_id) | v_menu_meal and v_customer_contract_meals | Поддржува спојувања на category и надоградување на ingredient/allergen.
|
| indexes/v_menu_drink_index.sql | drink(rest_id, drink_id) | v_menu_drink, v_customer_contract_drinks | Поддржува пребарување за погледи за пијалоци на ресторан.
|
Order и Delivery индекси
| Датотека на индекс | Индекси | Поддржани погледи | Забелешки
|
|---|
| indexes/v_orders_full_index.sql | customer_order(comp_order_id), customer_order(customer_user_id, order_datetime DESC), delivery(driver_user_id, delivery_date), order_meal(order_id, meal_id), order_drink(order_id, drink_id) | v_orders_full, v_driver_deliveries, v_contracts_revenue, v_company_billing_overview, v_reviews_full | Поддржува пребарување на нарачки, филтрирање на достави и агрегација на елементи на нарачка.
|
| indexes/v_driver_deliveries_index.sql | delivery(driver_user_id, delivery_date), order_meal(order_id, meal_id), order_drink(order_id, drink_id), customer_order(comp_order_id) | v_driver_deliveries | Креирано за пребарување на достави од страна на доставувачи.
|
| indexes/v_reviews_full_index.sql | customer_order(comp_order_id) | v_reviews_full | Погледот за review во главно зависи од заедничките нарачки и доставувања.
|
Contract, Billing, Loyalty, и Scheduling индекси
| Датотека на индекс | Индекси | Поддржани погледи | Забелешки
|
|---|
| indexes/v_contracts_revenue_index.sql | order_meal(order_id, meal_id), order_drink(order_id, drink_id), customer_order(comp_order_id), contract(company_id, rest_id) | v_contracts_revenue | Поддржува агрегација за приход по договор по компанија и ресторан.
|
| indexes/v_company_billing_overview_index.sql | contract(company_id), customer_order(comp_order_id) | v_company_billing_overview | Помага на прегледот за наплаќање по договори и салдо на фактурите.
|
| indexes/v_customer_loyalty_full_v2_index.sql | customer_order(customer_user_id, order_datetime DESC) | v_customer_loyalty_full_v2 | Поддржува статистики latest-order и aggregate-order за извештаи за лојалност.
|
| indexes/v_driver_lunch_timers_index.sql | lunch_time(lunch_weekday, contract_id), driver(rest_id), contract(rest_id, company_id) | v_driver_lunch_timers | Поддржува неделно филтрирање и рутирање restaurant/contract.
|