Changes between Version 6 and Version 7 of CustomerLoyaltyFullIndex


Ignore:
Timestamp:
09/16/26 11:57:50 (11 days ago)
Author:
223235
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CustomerLoyaltyFullIndex

    v6 v7  
    33||= Својство ||= Вредност ||
    44|| Шема || `kbnteam` ||
    5 || Област || Лојалност на клиентите ||
    65|| Главен преглед || [wiki:CustomerLoyaltyFullView v_customer_loyalty_full_v2] ||
     6|| Индексна поддршка || Без посебно дополнително индексирање ||
    77
    88== Опис ==
    99
    10 Индексите го поддржуваат пристапот до податоците за лојалност на клиентите. Се поставуваат врз изворните табели и можат да се користат од повеќе прегледи.
     10За овој поглед не се додава посебна група индекси. Постоечката индексна поддршка е доволна за тестираните прашалници. Индексите на заедничките табели можат да се користат и од други погледи.
    1111
    12 `customer_loyalty(user_id)` има уникатен индекс. Индексот по клиент и датум не го содржи order_total, па пресметката на вкупната потрошувачка и натаму бара читање на износите.
    13 
    14 == DDL ==
    15 
    16 {{{
    17 #!sql
    18 CREATE INDEX IF NOT EXISTS idx_customer_order_customer_user_id_order_datetime
    19 ON kbnteam.customer_order (customer_user_id, order_datetime DESC);
    20 
    21 CREATE INDEX IF NOT EXISTS idx_customer_company_id
    22 ON kbnteam.customer (company_id);
    23 }}}
    24 
    25 == Поддржани прегледи ==
    26 
    27 ||= Индекс ||= Прегледи ||= Намена ||
    28 || `idx_customer_order_customer_user_id_order_datetime` || [wiki:CustomerLoyaltyFullView v_customer_loyalty_full_v2], [wiki:OrdersFullView v_orders_full], [wiki:ReviewsFullView v_reviews_full] || Пронаоѓање нарачки по клиент; поддршка за пристап по датум во рамки на клиентот. ||
    29 || `idx_customer_company_id` || [wiki:CustomerLoyaltyFullView v_customer_loyalty_full_v2], [wiki:OrdersFullView v_orders_full] || Пронаоѓање клиенти по компанијата на која припаѓаат. ||
    30 
    31 == Колонски план ==
    32 
    33 ||= Индекс ||= Табела ||= Прва колона ||= Следни колони ||= Намена ||
    34 || `idx_customer_order_customer_user_id_order_datetime` || `customer_order` || `customer_user_id` || `order_datetime DESC` || Пронаоѓање нарачки по клиент; поддршка за пристап по датум во рамки на клиентот. ||
    35 || `idx_customer_company_id` || `customer` || `company_id` || — || Пронаоѓање клиенти по компанијата на која припаѓаат. ||
    36 
    37 Првата колона го определува вообичаениот почеток на пребарувањето со составен индекс. Присуството на други колони не значи дека индексот ги содржи сите податоци потребни за прегледот.
    38 
    39 == Верификација ==
    40 
    41 {{{
    42 #!sql
    43 SELECT tablename, indexname, indexdef
    44 FROM pg_indexes
    45 WHERE schemaname = 'kbnteam'
    46   AND indexname IN (
    47     'idx_customer_order_customer_user_id_order_datetime',
    48     'idx_customer_company_id'
    49 )
    50 ORDER BY tablename, indexname;
    51 }}}
    52 
    53 Проверката ги прикажува имињата и дефинициите. IF NOT EXISTS спречува повторно креирање под исто име, но не проверува дали постојната дефиниција е еднаква на наведената.
    54 
    55 == Влијание врз перформансите ==
    56 
    57 Изборот меѓу секвенцијално читање, индексно читање и други планови зависи од обемот на податоците, селективноста на филтрите и статистиките. Индексите не гарантираат забрзување или отстранување на сортирањата и спојувањата. Плановите и времињата се утврдуваат со мерење.
    58 
    59 Редоследот по датум може да поддржи пристап до понови нарачки на клиентот, но не ја отстранува потребата од читање на нарачките за COUNT и SUM. Одделен CTE сам по себе не докажува подобри перформанси.
     12Дополнителното индексирање е документирано само за [wiki:OrdersFullIndex v_orders_full_index], [wiki:DriverDeliveriesIndex v_driver_deliveries_index], [wiki:ContractsRevenueIndex v_contracts_revenue_index].
    6013
    6114== Тестирање на перформанси ==
    … …  
    8033
    8134INSERT и UPDATE се извршуваат со прифатлива брзина. Овие мерења ја опишуваат тестираната состојба на базата и не се споредба пред и по индексирање.
    82 
    83 Резултатите се за целите прашалници, а не за одделниот придонес на секој индекс.