Changes between Version 5 and Version 6 of MenuMealIndex


Ignore:
Timestamp:
09/16/26 11:51:56 (11 days ago)
Author:
223235
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MenuMealIndex

    v5 v6  
    33||= Својство ||= Вредност ||
    44|| Шема || `kbnteam` ||
    5 || Област || Мени и каталог ||
    65|| Главен преглед || [wiki:MenuMealView v_menu_meal] ||
     6|| Индексна поддршка || Без посебно дополнително индексирање ||
    77
    88== Опис ==
    99
    10 Индексите го поддржуваат пристапот до податоците за мени и каталог. Се поставуваат врз изворните табели и можат да се користат од повеќе прегледи.
     10За овој поглед не се додава посебна група индекси. Постоечката индексна поддршка е доволна за тестираните прашалници. Индексите на заедничките табели можат да се користат и од други погледи.
    1111
    12 Уникатното ограничување `uq_meal_restaurant_name` веќе го покрива пребарувањето по ресторан. Обратниот редослед на колоните во индексите за состојки и алергени овозможува пристап од јадење кон состојка и од состојка кон алерген.
    13 
    14 == DDL ==
    15 
    16 {{{
    17 #!sql
    18 CREATE INDEX IF NOT EXISTS idx_meal_cat_id_meal_id
    19 ON kbnteam.meal (cat_id, meal_id);
    20 
    21 CREATE INDEX IF NOT EXISTS idx_meal_ingredient_meal_id_ingr_id
    22 ON kbnteam.meal_ingredient (meal_id, ingr_id);
    23 
    24 CREATE INDEX IF NOT EXISTS idx_alergen_ingredient_ingr_id_alergen_id
    25 ON kbnteam.alergen_ingredient (ingr_id, alergen_id);
    26 }}}
    27 
    28 == Поддржани прегледи ==
    29 
    30 ||= Индекс ||= Прегледи ||= Намена ||
    31 || `idx_meal_cat_id_meal_id` || [wiki:MenuMealView v_menu_meal] || Пребарување јадења по категорија. ||
    32 || `idx_meal_ingredient_meal_id_ingr_id` || [wiki:MenuMealView v_menu_meal] || Пристап до состојките на јадењето и групирање по meal_id. ||
    33 || `idx_alergen_ingredient_ingr_id_alergen_id` || [wiki:MenuMealView v_menu_meal] || Пристап до алергените поврзани со состојката. ||
    34 
    35 == Колонски план ==
    36 
    37 ||= Индекс ||= Табела ||= Прва колона ||= Следни колони ||= Намена ||
    38 || `idx_meal_cat_id_meal_id` || `meal` || `cat_id` || `meal_id` || Пребарување јадења по категорија. ||
    39 || `idx_meal_ingredient_meal_id_ingr_id` || `meal_ingredient` || `meal_id` || `ingr_id` || Пристап до состојките на јадењето и групирање по meal_id. ||
    40 || `idx_alergen_ingredient_ingr_id_alergen_id` || `alergen_ingredient` || `ingr_id` || `alergen_id` || Пристап до алергените поврзани со состојката. ||
    41 
    42 Првата колона го определува вообичаениот почеток на пребарувањето со составен индекс. Присуството на други колони не значи дека индексот ги содржи сите податоци потребни за прегледот.
    43 
    44 == Верификација ==
    45 
    46 {{{
    47 #!sql
    48 SELECT tablename, indexname, indexdef
    49 FROM pg_indexes
    50 WHERE schemaname = 'kbnteam'
    51   AND indexname IN (
    52     'idx_meal_cat_id_meal_id',
    53     'idx_meal_ingredient_meal_id_ingr_id',
    54     'idx_alergen_ingredient_ingr_id_alergen_id'
    55 )
    56 ORDER BY tablename, indexname;
    57 }}}
    58 
    59 Проверката ги прикажува имињата и дефинициите. IF NOT EXISTS спречува повторно креирање под исто име, но не проверува дали постојната дефиниција е еднаква на наведената.
    60 
    61 == Влијание врз перформансите ==
    62 
    63 Изборот меѓу секвенцијално читање, индексно читање и други планови зависи од обемот на податоците, селективноста на филтрите и статистиките. Индексите не гарантираат забрзување или отстранување на сортирањата и спојувањата. Плановите и времињата се утврдуваат со мерење.
     12Дополнителното индексирање е документирано само за [wiki:OrdersFullIndex v_orders_full_index], [wiki:DriverDeliveriesIndex v_driver_deliveries_index], [wiki:ContractsRevenueIndex v_contracts_revenue_index].
    6413
    6514== Тестирање на перформанси ==
    … …  
    8433
    8534INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање.
    86 
    87 Резултатите се за целите прашалници, а не за одделниот придонес на секој индекс.