Changes between Version 5 and Version 6 of ContractsRevenueView


Ignore:
Timestamp:
09/16/26 11:55:42 (10 days ago)
Author:
223235
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ContractsRevenueView

    v5 v6  
    44|| Шема || `kbnteam` ||
    55|| Категорија || Договори и приходи ||
    6 || Поврзани индекси || [wiki:ContractsRevenueIndex Индекси за договори и приходи] ||
     6|| Индексна поддршка || [wiki:ContractsRevenueIndex v_contracts_revenue_index] ||
    77
    88== Опис ==
    … …  
    9898== Индексна поддршка ==
    9999
    100 `contract(company_id, rest_id)` поддржува и услов само по company_id. Индексот со rest_id како прва колона ја поддржува другата насока на пребарување.
     100Дополнителното индексирање е поставено врз изворните табели на погледот.
    101101
    102102||= Индекс ||= Табела и колони ||= Намена ||
     103|| `idx_contract_company_id_rest_id` || `contract(company_id, rest_id)` || Пребарување договори по компанија и ресторан. ||
    103104|| `idx_company_order_company_id` || `company_order(company_id)` || Пронаоѓање компаниски нарачки по компанија. ||
    104105|| `idx_customer_order_comp_order_id` || `customer_order(comp_order_id)` || Пронаоѓање клиентски нарачки по компаниска нарачка. ||
    105 || `idx_order_meal_order_id_meal_id` || `order_meal(order_id, meal_id)` || Пристап до јадењата на нарачката и групирање по order_id. ||
    106 || `idx_order_drink_order_id_drink_id` || `order_drink(order_id, drink_id)` || Пристап до пијалоците на нарачката и групирање по order_id. ||
    107 || `idx_contract_company_id_rest_id` || `contract(company_id, rest_id)` || Пребарување договори по компанија и ресторан и групирање по компанија. ||
    108 || `idx_contract_rest_id_company_id` || `contract(rest_id, company_id)` || Пронаоѓање договори почнувајќи од ресторан. ||
     106|| `idx_order_meal_order_id_meal_id` || `order_meal(order_id, meal_id)` || Поврзување на нарачката со јадењата и групирање по order_id. ||
     107|| `idx_order_drink_order_id_drink_id` || `order_drink(order_id, drink_id)` || Поврзување на нарачката со пијалоците и групирање по order_id. ||
    109108
    110 {{{
    111 #!sql
    112 CREATE INDEX IF NOT EXISTS idx_company_order_company_id
    113 ON kbnteam.company_order (company_id);
    114 
    115 CREATE INDEX IF NOT EXISTS idx_customer_order_comp_order_id
    116 ON kbnteam.customer_order (comp_order_id);
    117 
    118 CREATE INDEX IF NOT EXISTS idx_order_meal_order_id_meal_id
    119 ON kbnteam.order_meal (order_id, meal_id);
    120 
    121 CREATE INDEX IF NOT EXISTS idx_order_drink_order_id_drink_id
    122 ON kbnteam.order_drink (order_id, drink_id);
    123 
    124 CREATE INDEX IF NOT EXISTS idx_contract_company_id_rest_id
    125 ON kbnteam.contract (company_id, rest_id);
    126 
    127 CREATE INDEX IF NOT EXISTS idx_contract_rest_id_company_id
    128 ON kbnteam.contract (rest_id, company_id);
    129 }}}
    130 
    131 === Проверка на индексите ===
    132 
    133 {{{
    134 #!sql
    135 SELECT tablename, indexname, indexdef
    136 FROM pg_indexes
    137 WHERE schemaname = 'kbnteam'
    138   AND indexname IN (
    139     'idx_company_order_company_id',
    140     'idx_customer_order_comp_order_id',
    141     'idx_order_meal_order_id_meal_id',
    142     'idx_order_drink_order_id_drink_id',
    143     'idx_contract_company_id_rest_id',
    144     'idx_contract_rest_id_company_id'
    145 )
    146 ORDER BY tablename, indexname;
    147 }}}
     109Дефинициите се наведени во [wiki:ContractsRevenueIndex v_contracts_revenue_index]. За поврзаните табели се користат и индексите опишани во [wiki:OrdersFullIndex v_orders_full_index].
    148110
    149111== Тестирање на перформанси ==