Compound Index
MongoDB 🟡 MidDefinition
Index cree sur plusieurs champs. L'ordre des champs est crucial : il suit la regle ESR (Equality, Sort, Range) pour des performances optimales.
Analogie
Un annuaire trie d'abord par ville, puis par nom : chercher 'Paris + Dupont' est rapide, mais 'Dupont' seul ne profite pas de l'index.
Exemple de code
db.orders.createIndex(
{ status: 1, createdAt: -1, amount: 1 }
);
// Suit la regle ESR
Cas d'usage
Optimiser des requetes qui filtrent et trient sur plusieurs champs simultanement.
Anti-pattern
Inverser l'ordre des champs dans l'index par rapport aux requetes reelles.