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-BIOBig data aplicatDades no estructurades i intel·ligència de negociIABD

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 la sessió amb Google per llegir la pàgina sencera.

Inicia la sessió amb Google

Només et demanarem que acceptis les condicions del servei.