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é
Indexy = výkon¶
Bez indexů = collection scan. Vždy explain().
mongodbindexyperformance