| Version 2 (modified by , 2 weeks ago) ( diff ) |
|---|
Индекси: v_reviews_full_index
| Својство | Вредност |
|---|---|
| Шема | kbnteam
|
| Област | Рецензии |
| Главен преглед | v_reviews_full |
Опис
Индексите го поддржуваат пристапот до податоците за рецензии. Се поставуваат врз изворните табели и можат да се користат од повеќе прегледи.
order_review(review_id), order_review(order_id), delivery_review(review_id) и delivery_review(delivery_id) имаат уникатни индекси. company_order(delivery_id) исто така е уникатен. Останатите потребни индекси се споделени со нарачките и доставите.
DDL
Овој преглед ги користи основните и заедничките индекси наведени подолу. Нема посебна дополнителна дефиниција на индекс само за него.
Поддржани прегледи
| Индекс | Прегледи | Намена |
|---|---|---|
idx_company_order_company_id | v_orders_full, v_driver_deliveries, v_reviews_full, v_contracts_revenue, v_company_billing_overview | Пронаоѓање компаниски нарачки по компанија. |
idx_customer_order_comp_order_id | v_orders_full, v_driver_deliveries, v_reviews_full, v_contracts_revenue, v_company_billing_overview | Пронаоѓање клиентски нарачки по компаниска нарачка. |
idx_delivery_driver_user_id_delivery_date | v_driver_deliveries, v_orders_full, v_reviews_full | Пронаоѓање достави по доставувач; во прегледите за нарачки и достави и по датум. |
idx_customer_order_customer_user_id_order_datetime | v_customer_loyalty_full_v2, v_orders_full, v_reviews_full | Пронаоѓање нарачки по клиент; поддршка за пристап по датум во рамки на клиентот. |
Заеднички индекси
| Индекс | Поврзана документација |
|---|---|
idx_company_order_company_id | Индекси за нарачки и достави |
idx_customer_order_comp_order_id | Индекси за нарачки и достави |
idx_delivery_driver_user_id_delivery_date | Индекси за нарачки и достави |
idx_customer_order_customer_user_id_order_datetime | Индекси за лојалност на клиентите |
Колонски план
| Индекс | Табела | Прва колона | Следни колони | Намена |
|---|---|---|---|---|
idx_company_order_company_id | company_order | company_id | — | Пронаоѓање компаниски нарачки по компанија. |
idx_customer_order_comp_order_id | customer_order | comp_order_id | — | Пронаоѓање клиентски нарачки по компаниска нарачка. |
idx_delivery_driver_user_id_delivery_date | delivery | driver_user_id | delivery_date | Пронаоѓање достави по доставувач; во прегледите за нарачки и достави и по датум. |
idx_customer_order_customer_user_id_order_datetime | customer_order | customer_user_id | order_datetime DESC | Пронаоѓање нарачки по клиент; поддршка за пристап по датум во рамки на клиентот. |
Првата колона го определува вообичаениот почеток на пребарувањето со составен индекс. Присуството на други колони не значи дека индексот ги содржи сите податоци потребни за прегледот.
Верификација
SELECT tablename, indexname, indexdef
FROM pg_indexes
WHERE schemaname = 'kbnteam'
AND indexname IN (
'idx_company_order_company_id',
'idx_customer_order_comp_order_id',
'idx_delivery_driver_user_id_delivery_date',
'idx_customer_order_customer_user_id_order_datetime'
)
ORDER BY tablename, indexname;
Проверката ги прикажува имињата и дефинициите. IF NOT EXISTS спречува повторно креирање под исто име, но не проверува дали постојната дефиниција е еднаква на наведената.
Влијание врз перформансите
Изборот меѓу секвенцијално читање, индексно читање и други планови зависи од обемот на податоците, селективноста на филтрите и статистиките. Индексите не гарантираат забрзување или отстранување на сортирањата и спојувањата. Плановите и времињата се утврдуваат со мерење.
Тестирање на перформанси
Тест прашалниците за овој преглед се наведени во v_reviews_full.
Резултати пред индексирање
| Прашалник | Execution Time (ms) | План / забелешки |
|---|---|---|
| Тест 1: по тип и компанија | _ | _ |
| Тест 2: по компанија | _ | _ |
| Тест 3: по доставувач | _ | _ |
Резултати по индексирање
| Прашалник | Execution Time (ms) | План / забелешки |
|---|---|---|
| Тест 1: по тип и компанија | _ | _ |
| Тест 2: по компанија | _ | _ |
| Тест 3: по доставувач | _ | _ |
