Corrigé de TD pour un cours dispensé à l’université de Rennes 2
Pour ce TD, vous allez travailler sur une base nommée large_db
et sa collection users
.
MongoDB permet d’obtenir un certain nombre d’informations sur le déroulement d’une requête à l’aide de la fonction explain()
:
Utilisez cette méthode pour obtenir (i) le temps d’exécution, (ii) le nombre de documents parcourus et (iii) le nombre de documents retournés par une simple requête demandant d’afficher les informations des utilisateurs dont la clé "name"
vaut "user101"
.
Même chose en ne demandant de retourner qu’un utilisateur. Que remarquez-vous ?
Répétez encore cette opération en cherchant maintenant l’utilisateur "user499999"
. Que remarquez-vous ?
Passez maintenant à la base large_db_with_index
ayant le même contenu que la base précédente, mais disposant d’index. Affichez les index existant sur la collection users
de cette base : sur quel(s) attribut(s) portent-ils ?
Répétez les opérations précédentes (questions 2 à 4). Que remarquez-vous ? Quel(s) index ont été utilisés par ces requêtes ?
"user100000"
et "user500000"
.Liens utiles :
Passez à la base food
. Quels sont les index définis sur la collection NYfood
et de quel type sont-ils ? Quelles commandes a-t-il fallu exécuter pour les créer ?
Vérifiez que ces index sont effectivement utilisés à l’aide de quelques requêtes simples (éventuellement issues des TD précédents).