Compound Index

MongoDB 🟡 Mid

Definition

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.
#sgbd#interview#database#mongodb