index MongoDB
L'indice est généralement possible d'améliorer considérablement l'efficacité de la requête, s'il n'y a pas d'index, MongoDB lorsque les données de lecture doivent analyser chaque fichier dans la collection et sélectionnez les enregistrements qui correspondent aux critères de la requête.
Toute cette efficacité collection de requête de scan est très faible, en particulier lorsqu'ils traitent avec de grandes quantités de données, les requêtes peuvent prendre des dizaines de secondes, voire quelques minutes, la performance de ce site est très mortelle.
Index est une structure de données spéciale, l'index est stocké dans un ensemble de données de parcours facile à lire, la valeur d'index est une structure d'une table ou des colonnes pour trier la base de données
méthode ensureIndex ()
MongoDB utilise la méthode ensureIndex () pour créer l'index.
grammaire
syntaxe de base de la méthode ensureIndex () est la suivante:
>db.COLLECTION_NAME.ensureIndex({KEY:1})
Grammaire valeur clé de champ d'index que vous souhaitez créer un index pour ascendant spécifié créer, descendant si vous voulez créer un index de -1 peut être spécifié.
Exemples
>db.col.ensureIndex({"title":1}) >
méthode ensureIndex (), vous pouvez également configuré pour utiliser plusieurs champs pour créer un index (base de données relationnelle appelé un indice composite).
>db.col.ensureIndex({"title":1,"description":-1}) >
ensureIndex () reçoit les paramètres facultatifs, les paramètres optionnels sont énumérés ci-dessous:
paramètre | type | description |
---|---|---|
fond | Boolean | processus d'indexation permet de bloquer d'autres opérations de base de données, créer des index arrière-plan peut être spécifié système plus tard de la scène, une augmentation de "fond" des paramètres facultatifs. "Background" La valeur par défaut estfalse. |
unique | Boolean | L'indexation est unique. Indique de créer un index unique à true. La valeur par défaut estfalse. |
nom | string | Nom de l'indice. Si non spécifié, MongoDB en connectant le nom du champ d'index et l'ordre de tri pour générer un nom d'index. |
dropDups | Boolean | Supprimer les doublons lorsque vous créez un index unique, spécifiez true pour créer un index unique. La valeur par défaut estfalse. |
clairsemé | Boolean | Pour les données sur le terrain n'existe pas dans le document ne permettent pas l'indice, ce paramètre nécessite une attention particulière, si elle est définie sur true, le champ d'index n'interroge pas le document ne contient pas un champ correspondant .. La valeur par défaut estfalse. |
expireAfterSeconds | entier | Spécifiez une valeur en secondes pour l'unité pour terminer le réglage de TTL, réglez le temps de survie de la collecte. |
v | Version d'index | numéro de version de l'indice. La version par défaut de l'indice dépend de la course lorsque mongod créer une version d'index. |
poids | document | poids de l'indice, les valeurs comprises entre 1 à 99999, représente le droit de marquer un nouveau champ d'index par rapport au poids de l'indice. |
default_language | string | Pour les index de texte, ce paramètre détermine les mots d'arrêt et découlant des règles et des listes de mots. La valeur par défaut est l'anglais |
language_override | string | Pour l'index de texte, qui précise les noms des champs contenus dans le document, la langue remplacent la langue par défaut, la valeur par défaut est la langue. |
Exemples
Créer un index en arrière-plan:
db.values.ensureIndex({open: 1, close: 1}, {background: true})
En ajoutant de fond lors de la création d'un index: véritable option, ce qui permet de créer du travail en arrière-plan