Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

MongoDB indexing

05. 04. 2024 Aktualizováno: 27. 03. 2026 1 min čtení intermediate

Indexy dramaticky zrychlují dotazy v MongoDB.

Typy

  • Single field
  • Compound
  • Multikey (arrays)
  • Text
  • Geospatial
  • TTL (auto-delete)

Příklady

db.orders.createIndex({userId:1,status:1,createdAt:-1}) db.sessions.createIndex({expiresAt:1},{expireAfterSeconds:0})

Explain

db.orders.find({userId:123}).explain(‘executionStats’) // COLLSCAN=špatné, IXSCAN=dobré

  • ESR: Equality, Sort, Range
  • Partial indexy
  • Covered queries
  • Kontrolujte nepoužívané

Strategie indexování

Pravidlo ESR (Equality, Sort, Range) určuje optimální pořadí polí v compound indexu. Nejdříve umístěte pole pro equality match, pak sort pole a nakonec range podmínky. Tím minimalizujete počet zkoumaných klíčů v indexu.

Partial indexy vytvářejte pro kolekce, kde dotazujete jen subset dokumentů — například {status: "active"}. Tím ušetříte místo a zrychlíte zápisy. Covered queries (dotazy, jejichž výsledek je celý obsažen v indexu) eliminují potřebu číst dokumenty z disku. Pravidelně kontrolujte nepoužívané indexy pomocí $indexStats, protože každý index zpomaluje zápisy a zabírá místo na disku.

Indexy = výkon

Bez indexů = collection scan. Vždy explain().

mongodbindexyperformance
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.