Indice MongoDB
Senza indici, MongoDB dovrebbe scansionare ogni file della collezione e selezionare quei record che soddisfano i criteri di query durante la lettura dei dati.
Questo tipo di efficienza di query nella scansione dell'intero set è molto bassa, soprattutto quando si elabora una grande quantità di dati; la query può richiedere decine di secondi o addirittura minuti, il che è molto fatale per le prestazioni del sito web.
Gli indici sono strutture dati speciali memorizzate in una raccolta di dati che possono essere facilmente lette su un indice, mentre gli indici sono una struttura che ordina i valori di una o più colonne in una tabella di database.
Recensione:
Consulta il piano di esecuzione
Esempi di affermazioni:
Senza creare un indice (winningPlan:COLLSCAN), come mostrato nella figura sottostante:
La funzione Explic() può anche ricevere parametri diversi, e puoi visualizzare un piano di query più dettagliato impostando parametri differenti.
I parametri includono:queryPlanner (predefinito)、StatisticheEsecuzione、Tutti i PianiEsecuzione
Esegui spiega ("executionStats") e scoprirai che ci sono altre statistiche nel piano di esecuzione.
| parametro | significato | | totalKeysExamined | Numero di scansioni indicizzate | | totalDocsExamined | Numero di scansioni documentali | | nRitornata | Il numero di risultati restituiti | | executionTimeMillis | L'esecuzione richiede molto tempo | | Esecuzione Successo | Se l'esecuzione sia stata un successo |
Crea un indice
MongoDB utilizza il metodo createIndex() per creare indici.
Si noti che prima della versione 3.0.0, il metodo di creazione dell'indice era db.collection.ensureIndex(), e le versioni successive utilizzavano il metodo db.collection.createIndex().
Creare un unico indice
Crea un indice composito
Nella sintassi, il valore chiave è il campo indice che vuoi creare, 1 è specificato per creare un indice in ordine crescente, e se vuoi creare un indice in ordine decrescente, puoi specificare -1.Background per specificare che gli indici vengono creati in background, cioè, aggiungi il parametro opzionale "background". "background" è predefinito falso.
Indici delle query
Il comando è il seguente:
Elimina l'indice
Elimina tutti gli indici
Elimina l'indice specificato
(Fine)
|