Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Database Indexing Strategie

01. 01. 2024 1 min čtení intermediate

Správný index zrychlí dotaz 1000x. Špatný index zabírá místo a zpomaluje zápisy.

Typy indexů

  • B-tree: Default, equality a range queries
  • Hash: Jen equality (=)
  • GIN: JSONB, array, full-text search
  • GiST: Geometrie, range types
  • BRIN: Velké tabulky s přirozeným řazením

Strategie

– Composite index — pořadí sloupců! – Pravidlo: equality columns first, then range CREATE INDEX idx_orders ON orders(status, created_at DESC); – Covering index — index-only scan CREATE INDEX idx_users_cover ON users(email) INCLUDE (name, role); – Partial index — jen aktivní záznamy CREATE INDEX idx_active ON users(email) WHERE deleted_at IS NULL; – Analýza nepoužívaných indexů SELECT indexrelname, idx_scan FROM pg_stat_user_indexes WHERE idx_scan = 0 AND indexrelname NOT LIKE ‘%_pkey’;

Klíčový takeaway

Equality first v composite indexu. Partial pro subset, covering pro index-only scan. Odstraňte nepoužívané indexy.

databaseindexingpostgresqlperformance