MongoDB - Limitations de l'indexation

Dans ce chapitre, nous découvrirons les limitations d'indexation et ses autres composants.

Frais généraux supplémentaires

Chaque index occupe de l'espace et entraîne une surcharge à chaque insertion, mise à jour et suppression. Donc, si vous utilisez rarement votre collection pour les opérations de lecture, il est logique de ne pas utiliser d'index.

Utilisation de la RAM

Puisque les index sont stockés dans la RAM, vous devez vous assurer que la taille totale de l'index ne dépasse pas la limite de RAM. Si la taille totale augmente la taille de la RAM, il commencera à supprimer certains index, entraînant une perte de performances.

Limitations des requêtes

L'indexation ne peut pas être utilisée dans les requêtes qui utilisent -

  • Expressions régulières ou opérateurs de négation comme $ nin, $ not, etc.
  • Les opérateurs arithmétiques comme $ mod, etc.
  • Clause $ where

Par conséquent, il est toujours conseillé de vérifier l'utilisation de l'index pour vos requêtes.

Limites des clés d'index

À partir de la version 2.6, MongoDB ne créera pas d'index si la valeur du champ d'index existant dépasse la limite de clé d'index.

Insertion de documents dépassant la limite de clé d'index

MongoDB n'insérera aucun document dans une collection indexée si la valeur du champ indexé de ce document dépasse la limite de clé d'index. Il en va de même pour les utilitaires mongorestore et mongoimport.

Plages maximales

  • Une collection ne peut pas avoir plus de 64 index.
  • La longueur du nom d'index ne peut pas dépasser 125 caractères.
  • Un index composé peut avoir un maximum de 31 champs indexés.