Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 5609|Répondre: 2

Consultation et création d’index MongoDB

[Copié le lien]
Publié sur 11/02/2022 17:46:29 | | | |
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:

Commandes de requête courantes de MongoDB
https://www.itsvse.com/thread-10169-1-1.html

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ètresignification
totalKeysExaminedNombre de numérisations d’index
totalDocsExaminedNombre de numérisations de documents
nRetourLe nombre de résultats affichés
exécutionTimeMillisL’exécution prend du temps
exécution SuccèsSi 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)




Précédent:Comment restreindre l’inscription des utilisateurs taïwanais, publier des informations à volonté et demander des conseils sur la façon d’écrire.
Prochain:[Combat réel]. NET/C# exporte le cache en utilisant la requête floue StackExchange.Redis
 Propriétaire| Publié sur 11/02/2022 17:49:16 |
Processus d’analyse des requêtes lent :

1. Utiliser le journal de requêtes lent (system.profile) pour trouver des instructions dépassant 200 ms

2. Utilisez ensuite .explain() pour analyser le nombre de lignes affectées et comprendre pourquoi il dépasse 200 ms

3. Décidez s’il faut ajouter un index

Activez la requête lente :


Paramètre:

0 : Fermé, aucune donnée n’est collectée.
1 : Collecter des données de requête lentes, le délai par défaut est de 100 millisecondes.
2 : Collecter toutes les données

Examinez les résultats :


Note : On peut essentiellement dire que les index sont permanents en mémoire ; si la quantité de données atteint 100 millions, plus le nombre d’index est petit, mieux c’est, car ils occuperont une grande quantité de mémoire. Selon Internet, 1 million d’index représentent environ 50 millions de mémoire. S’il est de 100 millions, alors il occupera de la mémoire 5G.

Publié sur 13/02/2022 16:30:52 |
instruit...
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com