Limites des index


Surcharge supplémentaire

Chaque index occupe une certaine quantité d'espace de stockage, et les index doivent également être manipulés lors des opérations d'insertion, de mise à jour et de suppression. Par conséquent, si vous effectuez rarement des opérations de lecture sur une collection, il est recommandé de ne pas utiliser d'index.


Utilisation de la mémoire (RAM)

Étant donné que les index sont stockés en mémoire (RAM), vous devez vous assurer que la taille des index ne dépasse pas la limite de mémoire.

Si la taille des index est supérieure à la limite de mémoire, MongoDB supprimera certains index, ce qui entraînera une dégradation des performances.


Limites des requêtes

Les index ne peuvent pas être utilisés par les requêtes suivantes :

  • Expressions régulières et opérateurs de négation, tels que $nin, $not, etc.
  • Opérateurs arithmétiques, tels que $mod, etc.
  • Clause $where

Par conséquent, c'est une bonne habitude de vérifier si vos instructions utilisent des index, et vous pouvez utiliser explain pour le vérifier.


Limites des clés d'index

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


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

Si la valeur du champ d'index d'un document dépasse la limite de clé d'index, MongoDB ne convertira aucun document en une collection indexée. Cela est similaire aux outils mongorestore et mongoimport.


Limites maximales

  • Le nombre d'index dans une collection ne peut pas dépasser 64.
  • La longueur d'un nom d'index ne peut pas dépasser 128 caractères.
  • Un index composé peut avoir au maximum 31 champs.
Autres extensions