| 69 | | `invoice(comp_order_id)` има уникатен индекс. За пребарувањето и агрегациите се користат заедничките индекси за нарачки и договори; не е потребен посебен индекс само на contract(company_id). |
| 70 | | |
| 71 | | ||= Индекс ||= Табела и колони ||= Намена || |
| 72 | | || `idx_company_order_company_id` || `company_order(company_id)` || Пронаоѓање компаниски нарачки по компанија. || |
| 73 | | || `idx_customer_order_comp_order_id` || `customer_order(comp_order_id)` || Пронаоѓање клиентски нарачки по компаниска нарачка. || |
| 74 | | || `idx_contract_company_id_rest_id` || `contract(company_id, rest_id)` || Пребарување договори по компанија и ресторан и групирање по компанија. || |
| 75 | | |
| 76 | | {{{ |
| 77 | | #!sql |
| 78 | | CREATE INDEX IF NOT EXISTS idx_company_order_company_id |
| 79 | | ON kbnteam.company_order (company_id); |
| 80 | | |
| 81 | | CREATE INDEX IF NOT EXISTS idx_customer_order_comp_order_id |
| 82 | | ON kbnteam.customer_order (comp_order_id); |
| 83 | | |
| 84 | | CREATE INDEX IF NOT EXISTS idx_contract_company_id_rest_id |
| 85 | | ON kbnteam.contract (company_id, rest_id); |
| 86 | | }}} |
| 87 | | |
| 88 | | === Проверка на индексите === |
| 89 | | |
| 90 | | {{{ |
| 91 | | #!sql |
| 92 | | SELECT tablename, indexname, indexdef |
| 93 | | FROM pg_indexes |
| 94 | | WHERE schemaname = 'kbnteam' |
| 95 | | AND indexname IN ( |
| 96 | | 'idx_company_order_company_id', |
| 97 | | 'idx_customer_order_comp_order_id', |
| 98 | | 'idx_contract_company_id_rest_id' |
| 99 | | ) |
| 100 | | ORDER BY tablename, indexname; |
| 101 | | }}} |
| | 69 | За овој поглед не се додава посебна група индекси. Постоечката индексна поддршка е доволна за тестираните прашалници. Индексите на заедничките табели можат да се користат и од други погледи. |