Latest web development tutorials

Indice MongoDB

L'indice è di solito possibile migliorare notevolmente l'efficienza della query, se non vi è alcun indice, MongoDB quando i dati di lettura deve eseguire la scansione di ogni file nella raccolta e selezionare i record che corrispondono ai criteri di query.

Questa scansione tutta l'efficienza query di raccolta è molto bassa, soprattutto quando si tratta di grandi quantità di dati, le query possono prendere decine di secondi o addirittura minuti, le prestazioni di questo sito è molto mortale.

Index è una struttura di dati speciale, l'indice è memorizzato in un insieme di dati di facile lettura attraversamento, il valore di indice è una struttura di una tabella o colonne di database per ordinare


Metodo ensureIndex ()

MongoDB usa il metodo ensureIndex () per creare l'indice.

grammatica

Metodo ensureIndex () sintassi di base è la seguente:

>db.COLLECTION_NAME.ensureIndex({KEY:1})

Grammatica chiave valore del campo indice che si desidera creare un indice per l'ascendente specificato creare, discendente se si desidera creare un indice di -1 può essere specificato.

Esempi

>db.col.ensureIndex({"title":1})
>

Metodo ensureIndex (), è anche possibile impostare fino a utilizzare più campi per creare un indice (database relazionale chiamato un indice composito).

>db.col.ensureIndex({"title":1,"description":-1})
>

ensureIndex () riceve i parametri opzionali, i parametri opzionali sono elencati di seguito:

parametro tipo descrizione
sfondo booleano processo di indicizzazione bloccherà altre operazioni di database, creare indici di fondo può essere specificata in seguito sistema di fase, con un incremento del "fondo" parametri opzionali. "Sfondo" Il valore predefinito èfalso.
unico booleano L'indicizzazione è unico. Specifica per creare un indice univoco su true. Il valore predefinito èfalso.
nome stringa Nome dell'indice. Se non specificato, MongoDB collegando il nome del campo di indice e sorta per generare un nome di indice.
dropDups booleano Eliminare i record duplicati quando si crea un indice univoco, specificare true per creare un indice univoco. Il valore predefinito èfalso.
scarso booleano Per i dati campo non esiste nel documento non consentono l'indice, questo parametro richiede una particolare attenzione, se impostato su true, quindi il campo di indice non interrogare il documento non contiene un campo corrispondente .. Il valore predefinito èfalso.
expireAfterSeconds numero intero Specificare un valore in secondi per l'unità per completare l'impostazione TTL, impostare il tempo di sopravvivenza della raccolta.
v index numero di versione Index. La versione predefinita dell'indice dipende dal periodo, quando mongod creare una versione di indice.
pesi documento pesi Index valori da 1 a 99.999, rappresenta il diritto di segnare un altro campo indice rispetto al peso dell'indice.
DEFAULT_LANGUAGE stringa Per gli indici di testo, questo parametro determina le parole di arresto e arginare le regole e le liste di parole. Il valore di default è l'inglese
language_override stringa Per indice di testo, che specifica i nomi dei campi contenuti nel documento, la lingua sostituire la lingua predefinita, il valore di default è il linguaggio.

Esempi

Creare un indice in background:

db.values.ensureIndex({open: 1, close: 1}, {background: true})

Con l'aggiunta di sfondo durante la creazione di un indice: vera opzione, che permette di creare lavoro in background