wiki:QueryViewsOptimization

Version 12 (modified by 223162, 11 days ago) ( diff )

--

Оптимизација на прашалници и погледи

Системот користи погледи за преглед на менито, нарачките, доставите, рецензиите, договорите и лојалноста на клиентите. Индексите го поддржуваат пребарувањето и поврзувањето на податоците.

Погледи

Погледите ги обединуваат поврзаните податоци во прегледи наменети за секојдневното работење и известување.

Мени и каталог

Овие погледи го прикажуваат менито на рестораните. Самите погледи не ја проверуваат активноста на договорите и не го ограничуваат менито според компанијата на клиентот.

Поглед Цел Изворни табели / погледи Забелешки
v_menu_meal Ги прикажува јадењата со категорија, ресторан, состојки и алергени. meal_ingredient, ingredient, alergen_ingredient, alergen, meal, category, restaurant Состојките и алергените се прикажуваат како азбучно подредени листи без повторувања. Се прикажуваат и јадењата без наведени состојки или алергени.
v_menu_drink Ги прикажува пијалоците, нивната количина и цена, како и ресторанот. drink, restaurant Едноставно спојување на drink и restaurant, без агрегации.

Нарачки и достави

Овие погледи служат за преглед и следење на нарачките и доставите.

Поглед Цел Изворни табели / погледи Забелешки
v_orders_full Прикажува нарачки со податоци за клиентот, компанијата, статусот, доставата и нарачаните јадења и пијалоци. order_meal, meal, order_drink, drink, customer_order, order_status, customer, api_user, company_order, company, delivery, delivery_status Јадењата и пијалоците се прикажуваат во подредени листи без повторувања. Податоците за доставувачот се поврзани со доставата. Се прикажуваат и нарачките за кои сè уште нема достава.
v_driver_deliveries Ги прикажува доставите, доставувачите, рестораните, компаниите и поврзаните нарачки. delivery, delivery_status, driver, api_user, restaurant, company_order, company, v_orders_full Го користи прегледот на нарачки за деталите за клиентот и нарачаните производи. Се прикажуваат и доставите без назначен доставувач или поврзани нарачки.

Рецензии

Оцените за нарачки и достави се обединуваат во заеднички извештај.

Поглед Цел Изворни табели / погледи Забелешки
v_reviews_full Ги обединува оцените за нарачки и достави, со ознака за типот на рецензијата. review, order_review, customer_order, api_user, company_order, company, delivery_review, delivery Секој запис го задржува типот на рецензијата и соодветните оценки. Ако една рецензија се однесува и на нарачка и на достава, се прикажуваат двата записа.

Договори, фактурирање и лојалност

Овие погледи обезбедуваат статистика за компаниите, договорите, фактурите и клиентите.

Поглед Цел Изворни табели / погледи Забелешки
v_contracts_revenue За секој договор ги прикажува бројот на компаниски и клиентски нарачки и вкупниот приход за парот компанија–ресторан. order_meal, meal, order_drink, drink, customer_order, company_order, contract, company, restaurant, contract_status Статистиката ги опфаќа сите нарачки, независно од датумот и статусот на договорот или нарачката. Целиот износ на нарачката се брои кај секој вклучен ресторан. Договорите за истиот пар компанија–ресторан ја прикажуваат истата статистика.
v_company_billing_overview За секоја фактура ги прикажува компанијата, доставата, бројот на клиентски нарачки, нивниот вкупен износ и бројот на договори на компанијата. contract, invoice, company_order, company, customer_order Износот на фактурата е збир од поврзаните клиентски нарачки. Бројот на договори се пресметува одделно. Фактурите без клиентски нарачки имаат број и износ еднакви на нула.
v_customer_loyalty_full_v2 Ги прикажува клиентот, компанијата, поените, статусот и нивото на лојалност, бројот на нарачки, вкупната потрошувачка и датумот на последната нарачка. customer_order, customer_loyalty, customer, company, api_user, customer_loyalty_status, loyalty_tier Статистиката се пресметува по клиент и ги опфаќа сите статуси на нарачки. Се прикажуваат членовите на програмата за лојалност, вклучувајќи ги и оние без нарачки.

Термини за ручек

Погледот го поврзува распоредот за ручек со доставувачите на соодветниот ресторан.

Поглед Цел Изворни табели / погледи Забелешки
v_driver_lunch_timers Ги поврзува термините за ручек со договорите, компаниите, рестораните и доставувачите. lunch_time, contract, company, restaurant, driver, api_user Се добива ред за секој термин и секој доставувач на ресторанот. Погледот не го ограничува резултатот на назначениот доставувач и не филтрира активни договори или денови. Термините за ресторани без доставувачи не се прикажуваат.

Индекси

Индексите се поврзани со изворните табели и го поддржуваат пребарувањето по компанија, клиент, ресторан, доставувач и нарачка. Еден индекс може да се користи од повеќе погледи.

Примарните клучеви и уникатните ограничувања обезбедуваат основни индекси за идентификација и поврзување на записите. Дополнителните индекси ги поддржуваат почестите пребарувања и групирања.

Индекси за мени

Област Индекси Поддржани погледи Забелешки
Мени со јадења meal(cat_id, meal_id), meal_ingredient(meal_id, ingr_id), alergen_ingredient(ingr_id, alergen_id) v_menu_meal Ги поддржува пребарувањето по категорија и врските јадење–состојки–алергени. meal(rest_id, meal_name) веќе е покриен со UNIQUE.
Мени со пијалоци Основни и заеднички индекси v_menu_drink Нема дополнителен индекс. restaurant(rest_id) е примарен клуч, а drink(rest_id, drink_name) веќе има UNIQUE индекс.

Индекси за нарачки, достави и рецензии

Област Индекси Поддржани погледи Забелешки
Нарачки company_order(company_id), customer_order(comp_order_id), 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 Заеднички индекси за пронаоѓање компаниски и клиентски нарачки и за поврзување на јадењата и пијалоците по нарачка. Пребарувањата по доставувач и клиент се поддржани и со индексите за достави и лојалност.
Достави delivery(driver_user_id, delivery_date) v_driver_deliveries, v_orders_full, v_reviews_full Пребарување по доставувач и датум. Се користат и заедничките индекси за нарачки и за поврзување на доставувачите со рестораните.
Рецензии Основни и заеднички индекси v_reviews_full Нема дополнителен индекс. Врските преку review_id, order_id и delivery_id се покриени со примарни и уникатни клучеви. Се користат и заедничките индекси за нарачки, достави и клиенти.

Индекси за договори, фактурирање, лојалност и термини

Област Индекси Поддржани погледи Забелешки
Договори и приходи contract(company_id, rest_id) v_contracts_revenue, v_company_billing_overview Водечката колона company_id поддржува и групирање на договорите за фактурирање. Истиот индекс поддржува пребарување само по компанија. За нарачките се користат заедничките индекси.
Фактурирање Основни и заеднички индекси v_company_billing_overview Нема дополнителен индекс. Ги користи заедничките индекси company_order(company_id), customer_order(comp_order_id) и contract(company_id, rest_id). invoice(comp_order_id) веќе има UNIQUE индекс.
Лојалност на клиентите customer_order(customer_user_id, order_datetime DESC), customer(company_id) v_customer_loyalty_full_v2, v_orders_full Пребарување на нарачки по клиент и датум и на клиенти по компанија. customer_loyalty(user_id) веќе има UNIQUE индекс. За сумата на потрошувачката и натаму се чита order_total.
Термини за ручек driver(rest_id), contract(rest_id, company_id), lunch_time(contract_id) v_driver_lunch_timers, v_driver_deliveries; пребарување договори по ресторан во v_contracts_revenue Ги поддржува врските ресторан–доставувач, ресторан–договор и договор–термин. Индексот на lunch_time започнува со contract_id, па не бара филтер по ден.

Споредба и заклучок

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.