Escriu per cercar…

Indexes

Un índex és una estructura a part que permet al motor trobar els documents sense llegir-los tots.

S'ensenya a
Bases de dadesDocumentDAMDAWDAW-BIO

Introducció

La quantitat de dades d’una col·lecció afecta directament el rendiment de les consultes: com més gran és el conjunt de dades, més feina li costa a MongoDB trobar els documents que coincideixen.

Els índexs són estructures de dades especials que guarden, a part dels documents, només un petit subconjunt de les dades que contenen.

Un índex és una aposta: gastes espai i fas les insercions una mica més cares, a canvi que unes consultes concretes deixin de recórrer tota la col·lecció.

MongoDB crea un índex únic sobre el camp _id quan crea la col·lecció, i aquest índex no es pot eliminar. És el que impedeix que dos documents de la mateixa col·lecció tinguin el mateix _id.

Entorn de treball

Continua a la mateixa màquina i al mateix contenidor que a Document:

shell
docker exec -it mongo mongosh
js
use demo
switched to db demo

Un exemple d’indexació només té sentit amb una col·lecció que tingui molts documents.

Insereix 20.000 documents senzills a la col·lecció numbers. Com que el shell de MongoDB també és un intèrpret de JavaScript, el codi és curt:

js
for (i = 0; i < 20000; i++) { db.numbers.insertOne({num: i}) }
{
  acknowledged: true,
  insertedId: ObjectId('6a6f75d29b31e690f1cda59d')
}

Són molts documents, així que no et sorprenguis si triga uns segons.

Quan acabi, comprova que hi són tots:

js
db.numbers.countDocuments()
20000

Estàs llegint una vista prèvia.

Inicia sessió amb Google per llegir la pàgina completa.

Inicia sessió amb Google

Amb qualsevol compte de Google. Només et demanarem que acceptis les condicions del servei.