| | 1 | = Индекс: v_reviews_full_index = |
| | 2 | |
| | 3 | ||= Датотека ||= `indexes/v_reviews_full_index.sql` || |
| | 4 | ||= Шема ||= `kbnteam` || |
| | 5 | ||= Поврзани прегледи ||= `v_reviews_full` (исто така користен во `v_orders_full`, `v_driver_deliveries`, `v_contracts_revenue`, `v_company_billing_overview`) || |
| | 6 | |
| | 7 | == Опис == |
| | 8 | Единечен индекс за поддршка на JOIN-от помеѓу `customer_order` и `company_order` во прегледот `v_reviews_full`. Иако датотеката е именувана по прегледот за прегледи, индексот е споделен и го користат повеќе прегледи. |
| | 9 | |
| | 10 | == DDL == |
| | 11 | {{{ |
| | 12 | #!sql |
| | 13 | -- indexes/v_reviews_full_index.sql |
| | 14 | CREATE INDEX IF NOT EXISTS idx_customer_order_comp_order_id |
| | 15 | ON kbnteam.customer_order (comp_order_id); |
| | 16 | }}} |
| | 17 | |
| | 18 | == Поддржани прегледи == |
| | 19 | ||= Преглед ||= Начин на употреба || |
| | 20 | || `v_reviews_full` || JOIN `customer_order` → `company_order` по `comp_order_id` (Гранка 1: order reviews) || |
| | 21 | || `v_orders_full` || Иста патека, исто поле || |
| | 22 | || `v_driver_deliveries` || LEFT JOIN `customer_order` по `comp_order_id` || |
| | 23 | || `v_contracts_revenue` || CTE `contract_metrics` — JOIN по `comp_order_id` || |
| | 24 | || `v_company_billing_overview` || CTE `invoice_totals` — LEFT JOIN по `comp_order_id` || |
| | 25 | |
| | 26 | == Колонски план == |
| | 27 | ||= Колона ||= Позиција ||= Причина || |
| | 28 | || `comp_order_id` || Единечна || FK колона — поврзување на `customer_order` со `company_order` || |
| | 29 | |
| | 30 | == Верификација == |
| | 31 | {{{ |
| | 32 | #!sql |
| | 33 | SELECT indexname, indexdef |
| | 34 | FROM pg_indexes |
| | 35 | WHERE schemaname = 'kbnteam' |
| | 36 | AND indexname = 'idx_customer_order_comp_order_id'; |
| | 37 | }}} |
| | 38 | |
| | 39 | == Напомена за дупликати == |
| | 40 | Овој индекс е дефиниран и во `v_orders_full_index.sql`, `v_driver_deliveries_index.sql`, `v_contracts_revenue_index.sql` и `v_company_billing_overview_index.sql`. Клаузулата `IF NOT EXISTS` гарантира дека ќе биде создаден само еднаш, без разлика кој фајл ќе биде извршен прв. |