wiki:CompanyBillingOverviewIndex

Индекс: v_company_billing_overview_index

Датотека indexes/v_company_billing_overview_index.sql
Шема kbnteam
Поврзани прегледи v_company_billing_overview, v_contracts_revenue, v_company_users

Опис

Два индекси за поддршка на прегледот v_company_billing_overview. idx_contract_company_id го поддржува CTE-то company_contracts (GROUP BY company_id), а idx_customer_order_comp_order_id го поддржува LEFT JOIN во CTE-то invoice_totals.

DDL

-- indexes/v_company_billing_overview_index.sql
CREATE INDEX IF NOT EXISTS idx_contract_company_id
ON kbnteam.contract (company_id);

CREATE INDEX IF NOT EXISTS idx_customer_order_comp_order_id
ON kbnteam.customer_order (comp_order_id);

Поддржани прегледи

Индекс Прегледи Цел
idx_contract_company_id v_company_billing_overview, v_company_users CTE company_contracts GROUP BY company_id; JOIN contract по company_id
idx_customer_order_comp_order_id v_company_billing_overview и многу други LEFT JOIN customer_ordercompany_order по comp_order_id

Колонски план

Индекс Колона Причина
idx_contract_company_id company_id Единечна колона — GROUP BY company_id во CTE company_contracts
idx_customer_order_comp_order_id comp_order_id FK JOIN — customer_order.comp_order_idcompany_order.comp_order_id

Разлика помеѓу idx_contract_company_id и idx_contract_company_id_rest_id

Индекс Дефиниран во Колони Употреба
idx_contract_company_id v_company_billing_overview_index.sql | (company_id) Единечна колона — само filteri по company_id
idx_contract_company_id_rest_id v_contracts_revenue_index.sql (company_id, rest_id) Composite — JOIN и filter по company+restaurant

PostgreSQL може да го користи idx_contract_company_id_rest_id и за прашалници со само company_id (leading column match), така да idx_contract_company_id е технички редундантен кога двата постојат. Сепак, единечниот индекс е покомпактен за само-company_id скенирање.

Верификација

SELECT indexname, indexdef
FROM pg_indexes
WHERE schemaname = 'kbnteam'
  AND indexname IN (
      'idx_contract_company_id',
      'idx_customer_order_comp_order_id'
  );
Last modified 2 weeks ago Last modified on 05/10/26 14:43:37
Note: See TracWiki for help on using the wiki.