English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce chapitre, nous allons apprendre les requêtes couvertes.
Selon la documentation officielle de MongoDB, une requête couverte est une requête de ce type, où-
Tous les champs de la requête font partie de l'index.
Tous les champs retournés par la requête sont dans le même index.
Comme tous les champs de la requête font partie de l'index, MongoDB matche les conditions de la requête et utilise le même index pour retourner les résultats sans nécessiter l'examen interne des documents. Comme l'index existe en RAM, l'obtention des données à partir de l'index est beaucoup plus rapide que de scanner les documents.
sers
Les documents suivants dans la collection-
"_id": ObjectId("53402597d852426020000003", "contact": ""987654321", "dob": "0"1-01-1991", "gender": "M", "name": "Tom Benzamin", "user_name": "tombenzamin" }
Nous allons d'abord utiliser la requête suivante pour créer un index composé sur les champs gender et user_name pour la collection users–
>db.users.createIndex({gender:1,user_name:1} "createdCollectionAutomatically": false, "numIndexesBefore": 1, "numIndexesAfter": 2, "ok" : 1 }
Maintenant, cet index couvrira les requêtes suivantes-
>db.users.find({gender:"M"},{user_name:1,_id:0) {"user_name" : "tombenzamin" }
C'est-à-dire, pour la requête ci-dessus, MongoDB ne regarde pas les documents de la base de données. Au lieu de cela, il tire les données nécessaires des données d'index, ce qui est très rapide.
En raison du fait que l'index ne contient pas_id
Le champ, donc nous l'avons explicitement exclu du résultat de la requête, car MongoDB retourne par défaut le champ _id dans chaque requête. Donc la requête suivante ne contient pas l'index créé ci-dessus -
>db.users.find({gender:"M"},{user_name:1} {"_id" : ObjectId("}53402597d852426020000003{"), "user_name" : "tombenzamin" }
Enfin, souvenez-vous que si, l'index ne peut pas couvrir la requête
Tous les champs d'index sont des tableaux
Tous les champs d'index sont des sous-document