Přeskočit na obsah
_CORE
Know-How

Database Indexing Strategie

7 min čtení
DatabaseIndexingPostgreSQLPerformance

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.

CORE SYSTEMS tým

Praktické know-how z reálných projektů. Bez buzzwordů, s kódem.