MongoDB - Limitazioni all'indicizzazione
In questo capitolo, apprenderemo i limiti di indicizzazione e gli altri suoi componenti.
Overhead extra
Ogni indice occupa un po 'di spazio e causa un sovraccarico su ogni inserimento, aggiornamento ed eliminazione. Quindi, se usi raramente la tua raccolta per operazioni di lettura, ha senso non usare gli indici.
Utilizzo della RAM
Poiché gli indici sono memorizzati nella RAM, è necessario assicurarsi che la dimensione totale dell'indice non superi il limite di RAM. Se la dimensione totale aumenta la dimensione della RAM, inizierà a eliminare alcuni indici, causando una perdita di prestazioni.
Limitazioni delle query
L'indicizzazione non può essere utilizzata nelle query che utilizzano -
- Espressioni regolari o operatori di negazione come $ nin, $ not, ecc.
- Operatori aritmetici come $ mod, ecc.
- $ clausola where
Quindi, è sempre consigliabile controllare l'utilizzo dell'indice per le tue query.
Limiti chiave dell'indice
A partire dalla versione 2.6, MongoDB non creerà un indice se il valore del campo dell'indice esistente supera il limite della chiave dell'indice.
Inserimento di documenti che superano il limite della chiave di indice
MongoDB non inserirà alcun documento in una raccolta indicizzata se il valore del campo indicizzato di questo documento supera il limite della chiave dell'indice. Lo stesso è il caso delle utility mongorestore e mongoimport.
Intervalli massimi
- Una raccolta non può avere più di 64 indici.
- La lunghezza del nome dell'indice non può superare i 125 caratteri.
- Un indice composto può avere un massimo di 31 campi indicizzati.