Maison base de données tutoriel mysql Résumé des méthodes MongoDB pour améliorer les performances

Résumé des méthodes MongoDB pour améliorer les performances

Sep 19, 2018 pm 03:21 PM
mongodb

Le contenu de cet article est un résumé des méthodes pour améliorer les performances de MongoDB. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

MongoDB est une donnée haute performance, mais lors de son utilisation, vous pouvez parfois rencontrer des problèmes de performances. MongoDB comparé à d'autres bases de données relationnelles, telles que SQL Serveur, MySQL, Oracle En comparaison, il est relativement nouveau et beaucoup de gens ne le connaissent pas très bien, c'est pourquoi de nombreux développeurs et administrateurs de base de données se concentrent souvent sur la réalisation des fonctions et ignorent les exigences de performances. En fait, MongoDB et SQL Comme Server, MySQL et Oracle, l'ajustement de la conception d'un objet de base de données, la création d'index et l'optimisation des instructions auront un impact énorme sur les performances.

Afin d'exploiter pleinement les performances de MongoDB, nous avons simplement résumé les 18 éléments suivants. Tout le monde est invité à continuer à les résumer et à les améliorer.

(1) Il est recommandé d'utiliser la valeur par défaut pour la clé _id dans le document, et l'enregistrement des valeurs personnalisées dans _id est interdit.

Interprétation : il y aura une clé "_id" dans le document MongoDB, qui est par défaut un objet ObjectID (l'identifiant comprend l'horodatage, l'ID de la machine, l'ID du processus et le compteur). MongoDB a une grande différence dans la vitesse d'insertion lors de la spécification de _id et de la non-spécification de _id. La spécification de _id ralentira le taux d'insertion.

(2) Il est recommandé d'utiliser des noms de champs courts.

Interprétation : contrairement aux bases de données relationnelles, chaque document de la collection MongoDB doit stocker un nom de champ, et les noms de champs longs nécessiteront plus d'espace de stockage.

(3) L'index MongoDB peut améliorer les opérations de requête, de mise à jour, de suppression et de tri de documents, donc créez un index approprié en fonction des besoins de l'entreprise.

(4) Chaque index occupera un certain espace et entraînera une consommation de ressources pour l'opération d'insertion. Par conséquent, il est recommandé que le nombre d'index pour chaque collection soit contrôlé dans la limite de 5 autant que possible.

(5) Pour les requêtes contenant plusieurs clés, créer un index composite contenant ces clés est une bonne solution. L'ordre des valeurs clés d'un index composite est très important. Comprendre le principe du préfixe le plus à gauche de l'index.

Interprétation : Par exemple, créez un index combiné {a:1,b:1,c:1} sur la collection de tests. Exécutez les 7 instructions de requête suivantes :

db.test.find({a:”hello”}) // 1
db.test.find({b:”sogo”, a:”hello”}) // 2
db.test.find({a:”hello”,b:”sogo”, c:”666”}) // 3
db.test.find({c:”666”, a:”hello”}) // 4
db.test.find({b:”sogo”, c:”666”}) // 5
db.test.find({b:”sogo” }) // 6
db.test.find({c:”666”}) // 7
Copier après la connexion

Les instructions de requête ci-dessus peuvent être indexées 1, 2, 3, 4

La requête doit contenir le champ d'index le plus à gauche, dans l'ordre d'index création précise, quel que soit l’ordre des champs de requête.

Le moindre index couvre le plus de requêtes.

(6) Index TTL (index de durée de vie, index avec cycle de vie). L'utilisation de l'index TTL peut vieillir les documents pendant le délai d'attente. Un document sera supprimé une fois qu'il aura atteint le niveau de vieillissement.

Interprétation : L'index utilisé pour créer le TTL doit être de type date. L'index TTL est un index à champ unique et ne peut pas être un index composite. Le fil d'arrière-plan de suppression de document TTL supprime les documents non valides toutes les 60 secondes. Les collections de longueur fixe ne sont pas prises en charge.

(7) Lorsque vous devez créer un index sur un certain champ de la collection, mais qu'un grand nombre de documents de la collection ne contiennent pas cette valeur clé, il est recommandé de créer un index clairsemé.

Interprétation : L'index est dense par défaut, ce qui signifie que même si le champ d'index du document est manquant, il existe une relation correspondante dans l'index. Dans un index clairsemé, seuls les documents contenant des valeurs de clé d'index apparaîtront.

(8) Lors de la création d'un index de texte, le champ spécifie le texte, pas 1 ou -1. Il n'y a qu'un seul index de texte par collection, mais il peut indexer autant de champs que vous le souhaitez.

Interprétation : La recherche de texte est beaucoup plus rapide. Il est recommandé d'utiliser l'index de texte pour remplacer les requêtes inefficaces sur plusieurs champs des documents de collection.

(9) Utilisez findOne pour interroger plusieurs éléments correspondant à la base de données, et il renverra le premier élément de la collection de fichiers naturellement triés. Si vous devez renvoyer plusieurs documents, utilisez la méthode find.

(10) Si la requête n'a pas besoin de renvoyer l'intégralité du document ou est uniquement utilisée pour déterminer si une valeur clé existe, vous pouvez limiter les champs renvoyés via la projection (mappage) pour réduire le trafic réseau et la mémoire client usage.

Interprétation : vous pouvez soit spécifier explicitement les champs renvoyés en définissant {key:1}, soit définir {key:0} pour spécifier les champs qui doivent être exclus.

(11) À l'exception des requêtes de style préfixe, les requêtes d'expression régulière ne peuvent pas utiliser d'index et prennent plus de temps à s'exécuter que la plupart des sélecteurs. Elles doivent être utilisées avec parcimonie.

(12) Dans les opérations d'agrégation, $ doit être avant match et $group En préfixant $, vous pouvez réduire le préfixe de match et réduire le nombre de documents à traiter par l'opérateur $group.

(13) La modification de documents via des opérateurs entraîne généralement de meilleures performances, car il n'est pas nécessaire d'aller et venir vers le serveur pour obtenir et modifier les données du document, et moins de temps peut être consacré à la sérialisation et à la transmission des données. . temps.

(14) L'insertion par lots peut réduire le nombre de soumissions de données au serveur et améliorer les performances. Cependant, la taille du BSON soumis par lots ne dépasse pas 48 Mo.

(15) Il est interdit de récupérer trop de données pour le tri en même temps. MongoDB prend actuellement en charge le tri des ensembles de résultats dans un rayon de 32 Mo. Si un tri est requis, essayez de limiter la quantité de données dans le jeu de résultats.

(16) Certains opérateurs $ dans la requête peuvent entraîner de faibles performances, tels que $ne, $, not, $exists, $nin, $or try to use Ne pas utiliser en entreprise.

a) $exist : en raison de la structure lâche du document, la requête doit parcourir chaque document

b) $ne : si la valeur niée est majoritaire, l'index entier sera analysé ; ;

c) $not : peut empêcher l'optimiseur de requêtes de savoir quel index doit être utilisé, il se dégradera donc souvent en une analyse complète de la table

d) $nin : une analyse complète de la table

e) $ sera interrogé autant de fois qu'il y a plusieurs conditions lors de la fusion de l'ensemble de résultats, vous devriez envisager de le changer en ou : Combien de fois sera interrogé lorsqu'il y a plusieurs conditions lors de la fusion du résultat. défini, vous devriez envisager de le remplacer par $in.

(17) Les collections fixes peuvent être utilisées pour enregistrer des journaux, qui insèrent des données plus rapidement et peuvent éliminer les données les plus anciennes lors de l'insertion de données. Cette fonctionnalité peut être prise en compte lors de l'analyse et de la conception de la demande, ce qui améliore les performances et élimine le besoin de suppression.

Interprétation : les collections fixes doivent être créées explicitement, spécifier la taille et peuvent également spécifier le nombre de documents. Quelle que soit la limite atteinte en premier, les nouveaux documents insérés ultérieurement supprimeront le document le plus ancien.

(18) Le volume de données des documents de la collection affectera les performances des requêtes. Pour maintenir un volume approprié, un archivage régulier est nécessaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle version est généralement utilisée pour mongodb ? Quelle version est généralement utilisée pour mongodb ? Apr 07, 2024 pm 05:48 PM

Il est recommandé d'utiliser la dernière version de MongoDB (actuellement 5.0) car elle fournit les dernières fonctionnalités et améliorations. Lors de la sélection d'une version, vous devez prendre en compte les exigences fonctionnelles, la compatibilité, la stabilité et le support de la communauté. Par exemple, la dernière version comporte des fonctionnalités telles que les transactions et l'optimisation du pipeline d'agrégation. Assurez-vous que la version est compatible avec l'application. Pour les environnements de production, choisissez la version avec support à long terme. La dernière version bénéficie d'un support communautaire plus actif.

La différence entre nodejs et vuejs La différence entre nodejs et vuejs Apr 21, 2024 am 04:17 AM

Node.js est un environnement d'exécution JavaScript côté serveur, tandis que Vue.js est un framework JavaScript côté client permettant de créer des interfaces utilisateur interactives. Node.js est utilisé pour le développement côté serveur, comme le développement d'API de service back-end et le traitement des données, tandis que Vue.js est utilisé pour le développement côté client, comme les applications monopage et les interfaces utilisateur réactives.

Où est la base de données créée par mongodb ? Où est la base de données créée par mongodb ? Apr 07, 2024 pm 05:39 PM

Les données de la base de données MongoDB sont stockées dans le répertoire de données spécifié, qui peut être situé dans le système de fichiers local, le système de fichiers réseau ou le stockage cloud. L'emplacement spécifique est le suivant : Système de fichiers local : Le chemin par défaut est Linux/macOS : /data/db, Windows : C:\data\db. Système de fichiers réseau : le chemin dépend du système de fichiers. Stockage cloud : le chemin est déterminé par le fournisseur de stockage cloud.

Quels sont les avantages de la base de données MongoDB Quels sont les avantages de la base de données MongoDB Apr 07, 2024 pm 05:21 PM

La base de données MongoDB est connue pour sa flexibilité, son évolutivité et ses hautes performances. Ses avantages incluent : un modèle de données documentaires qui permet de stocker les données de manière flexible et non structurée. Évolutivité horizontale vers plusieurs serveurs via le partitionnement. Flexibilité des requêtes, prenant en charge les requêtes complexes et les opérations d’agrégation. La réplication des données et la tolérance aux pannes garantissent la redondance des données et la haute disponibilité. Prise en charge de JSON pour une intégration facile avec les applications frontales. Hautes performances pour une réponse rapide même lors du traitement de grandes quantités de données. Open source, personnalisable et gratuit à utiliser.

Que signifie MongoDB ? Que signifie MongoDB ? Apr 07, 2024 pm 05:57 PM

MongoDB est un système de base de données distribuée orienté document utilisé pour stocker et gérer de grandes quantités de données structurées et non structurées. Ses concepts de base incluent le stockage et la distribution de documents, et ses principales fonctionnalités incluent le schéma dynamique, l'indexation, l'agrégation, la réduction de mappage et la réplication. Il est largement utilisé dans les systèmes de gestion de contenu, les plateformes de commerce électronique, les sites Web de réseaux sociaux, les applications IoT et le développement d'applications mobiles.

Comment ouvrir MongoDB Comment ouvrir MongoDB Apr 07, 2024 pm 06:15 PM

Sous Linux/macOS : Créez le répertoire de données et démarrez le service "mongod". Sous Windows : créez le répertoire de données et démarrez le service MongoDB à partir de Service Manager. Dans Docker : Exécutez la commande "docker run". Sur d'autres plateformes : Veuillez consulter la documentation MongoDB. Méthode de vérification : exécutez la commande "mongo" pour vous connecter et afficher la version du serveur.

Où sont les fichiers de la base de données mongodb ? Où sont les fichiers de la base de données mongodb ? Apr 07, 2024 pm 05:42 PM

Le fichier de base de données MongoDB se trouve dans le répertoire de données MongoDB, qui est /data/db par défaut, qui contient .bson (données du document), ns (informations de collecte), journal (enregistrements d'opération d'écriture), wiredTiger (données lors de l'utilisation de WiredTiger moteur de stockage) et config (informations de configuration de la base de données) et autres fichiers.

Que faire si Navicat expire Que faire si Navicat expire Apr 23, 2024 pm 12:12 PM

Les solutions pour résoudre les problèmes d'expiration de Navicat incluent : renouveler la licence ; désinstaller et réinstaller ; désactiver les mises à jour automatiques ; utiliser la version gratuite de Navicat Premium ; contacter le support client de Navicat.

See all articles