= Оптимизација на прашалници и погледи = Погледите го прикажуваат менито, нарачките, доставите, рецензиите, договорите, фактурите и лојалноста на клиентите. Дополнителното индексирање е задржано за `v_orders_full`, `v_driver_deliveries` и `v_contracts_revenue`. == Погледи == === Мени и каталог === ||= Поглед ||= Намена ||= Индексна поддршка || || [wiki:MenuMealView v_menu_meal] || Ги прикажува јадењата со категорија, ресторан, состојки и алергени. || Постоечка индексна поддршка. || || [wiki:MenuDrinkView v_menu_drink] || Ги прикажува пијалоците, нивната количина и цена, како и ресторанот. || Постоечка индексна поддршка. || === Нарачки и достави === ||= Поглед ||= Намена ||= Индексна поддршка || || [wiki:OrdersFullView v_orders_full] || Прикажува нарачки со податоци за клиентот, компанијата, статусот, доставата и нарачаните јадења и пијалоци. || [wiki:OrdersFullIndex v_orders_full_index] || || [wiki:DriverDeliveriesView v_driver_deliveries] || Ги прикажува доставите, доставувачите, рестораните, компаниите и поврзаните нарачки. || [wiki:DriverDeliveriesIndex v_driver_deliveries_index] || === Рецензии === ||= Поглед ||= Намена ||= Индексна поддршка || || [wiki:ReviewsFullView v_reviews_full] || Ги обединува оцените за нарачки и достави, со ознака за типот на рецензијата. || Постоечка индексна поддршка. || === Договори, фактурирање и лојалност === ||= Поглед ||= Намена ||= Индексна поддршка || || [wiki:ContractsRevenueView v_contracts_revenue] || За секој договор ги прикажува бројот на компаниски и клиентски нарачки и вкупниот приход за парот компанија–ресторан. || [wiki:ContractsRevenueIndex v_contracts_revenue_index] || || [wiki:CompanyBillingOverviewView v_company_billing_overview] || За секоја фактура ги прикажува компанијата, доставата, бројот на клиентски нарачки, нивниот вкупен износ и бројот на договори на компанијата. || Постоечка индексна поддршка. || || [wiki:CustomerLoyaltyFullView v_customer_loyalty_full_v2] || Ги прикажува клиентот, компанијата, поените, статусот и нивото на лојалност, бројот на нарачки, вкупната потрошувачка и датумот на последната нарачка. || Постоечка индексна поддршка. || === Термини за ручек === ||= Поглед ||= Намена ||= Индексна поддршка || || [wiki:DriverLunchTimersView v_driver_lunch_timers] || Ги поврзува термините за ручек со договорите, компаниите, рестораните и доставувачите. || Постоечка индексна поддршка. || == Дополнително индексирање == Трите групи содржат вкупно шест дополнителни индекси врз изворните табели. Истиот индекс може да се користи од повеќе погледи; тоа не значи дека за секој од нив е додадена посебна група индекси. ||= Група ||= Главен поглед ||= Табели и колони || || [wiki:OrdersFullIndex v_orders_full_index] || [wiki:OrdersFullView v_orders_full] || `company_order(company_id)`, `customer_order(comp_order_id)`, `order_meal(order_id, meal_id)`, `order_drink(order_id, drink_id)` || || [wiki:DriverDeliveriesIndex v_driver_deliveries_index] || [wiki:DriverDeliveriesView v_driver_deliveries] || `delivery(driver_user_id, delivery_date)` || || [wiki:ContractsRevenueIndex v_contracts_revenue_index] || [wiki:ContractsRevenueView v_contracts_revenue] || `contract(company_id, rest_id)` || За останатите шест погледи не се додава посебно дополнително индексирање. Времето на SELECT прашалниците е прифатливо за редовното користење. == Резултати од тестирањето == === SELECT === ||= Поглед ||= Пред индексирање (ms) ||= По индексирање (ms) || || [wiki:OrdersFullView v_orders_full] || 2598 || 2591 || || [wiki:DriverDeliveriesView v_driver_deliveries] || околу 70000 || 48236 || || [wiki:ContractsRevenueView v_contracts_revenue] || 2555 || 1966 || Кај нарачките разликата е 7 ms, односно 0,3%. Кај договорите времето е пократко за 589 ms, односно 23,1%, при резултат од нула редови во двата теста. Кај доставите споредбата е ориентациска: околу 70 секунди за 200 редови се споредуваат со вкупно 48236 ms од статистика за две наредби. === INSERT и UPDATE === Тестирани се девет табели со по еден INSERT и еден UPDATE. Сите 18 операции се успешни и враќаат по еден ред. Execute и Fetch времињата се наведени на страницата на соодветниот поглед. По мерењето промените се вратени со ROLLBACK. Execute е времето прикажано во DBeaver, а Fetch вредностите се од дополнетата евиденција. Овие мерења не се споредба на INSERT и UPDATE пред и по индексирање. == Извештај во PDF == [attachment:Izveshtaj_indeksiranje_pogledi.pdf Споредба и заклучок во PDF формат]