Indice MongoDB
Sans index, MongoDB devrait scanner chaque fichier de la collection et sélectionner les enregistrements qui répondent aux critères de requête lors de la lecture des données.
Ce type d’efficacité de requête lors de la lecture de l’ensemble complet est très faible, surtout lors du traitement d’une grande quantité de données ; la requête peut prendre des dizaines de secondes, voire des minutes, ce qui est très fatal pour la performance du site web.
Les index sont des structures de données spéciales stockées dans une collection de données facilement lisibles sur un index, et les index sont une structure qui trie les valeurs d’une ou plusieurs colonnes dans une table de base de données.
Révision:
Requête du plan d’exécution
Exemples d’énoncés :
Sans créer d’index (winningPlan :COLLSCAN), comme montré dans la figure ci-dessous :
La fonction explain() peut aussi recevoir différents paramètres, et vous pouvez consulter un plan de requête plus détaillé en définissant différents paramètres.
Les paramètres incluent :queryPlanner (par défaut)、StatsExécution、ToutesPlansExécution
Exécutez explain (« executionStats ») et vous verrez qu’il y a plus de statistiques dans le plan d’exécution.
| paramètre | signification | | totalKeysExamined | Nombre de numérisations d’index | | totalDocsExamined | Nombre de numérisations de documents | | nRetour | Le nombre de résultats affichés | | exécutionTimeMillis | L’exécution prend du temps | | exécution Succès | Si l’exécution a été réussie |
Créez un index
MongoDB utilise la méthode createIndex() pour créer des index.
Notez qu’avant la version 3.0.0, la méthode de création d’index était db.collection.ensureIndex(), et que les versions ultérieures utilisaient la méthode db.collection.createIndex().
Créer un index unique
Créer un indice composite
Dans la syntaxe, la valeur clé est le champ d’index que vous souhaitez créer, 1 est spécifié pour créer un index dans l’ordre croissant, et si vous souhaitez créer un indice par ordre décroissant, vous pouvez spécifier -1.Contexte pour spécifier que les index sont créés en arrière-plan, c’est-à-dire ajouter le paramètre optionnel « background ». « background » est par défaut faux.
Index de requêtes
La commande est la suivante :
Supprimer l’index
Supprimer tous les index
Supprimer l’index spécifié
(Fin)
|