Create Index in MongoDB: il comando per creare nuovi indici

Con la funzione MongoDB Create Index generate un indice, ottenendo così una migliore visione d’insieme e redendo più semplice rispondere a eventuali richieste. Inoltre, potete regolare l’indice applicando diversi parametri.

Cos’è Create Index in MongoDB?

Per comprendere in quali casi ricorrere a Create Index in MongoDB e perché la sua funzione è così importante nel lavoro quotidiano con il sistema di gestione di base di dati, vale la pena di dare un’occhiata all’architettura di MongoDB.

Diversamente dai sistemi relazionali come MySQL, la metodologia NoSQL non ricorre a tabelle, bensì a documenti, che vengono salvati all’interno di raccolte. Per questo motivo non hanno bisogno di seguire uno schema, risultando così scalabili e molto flessibili. In questo modo si possono costruire giganteschi database, creare raccolte e salvare documenti. Quando dovete però interrogare il database per ritrovare determinati dati, avete bisogno di ordine. È proprio a questo che servono gli indici.

Un indice non serve soltanto per dare ordine a un database, ma anche per semplificare al sistema l’elaborazione delle richieste. In sua assenza, infatti, un’enorme raccolta di diverse migliaia di documenti comporta tempi di attesa più lunghi e risultati poco chiari. Dotando, invece, i documenti di un indice, questi vengono classificati meglio e trovati in minor tempo. Poiché è necessario consultare solamente una parte dei documenti, la ricerca risulta più efficiente. È per questo che utilizzate il comando di Mongo DB Create Index.

La sintassi di Create Index in MongoDB

Il comando Create Index in MongoDB si compone delle voci relative alla raccolta, al comando, al criterio per le richieste e alla numerazione:

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

“COLLECTION_NAME” indica il nome della raccolta nella quale deve essere generato l’indice; “createindex” fa riferimento al comando, “KEY” mostra il campo all’interno della raccolta e “1” indica come la classificazione debba essere eseguita in successione crescente. Per l’ordine di successione opposto selezionate “-1”.

MongoDB: esempio di impiego di Create Index

Per comprendere ancora meglio la modalità di funzionamento e di utilizzo di Create Index, usiamo un semplice esempio, qui di seguito riportato:

>db.esempio.createIndex ( {"title":1} )

Il risultato appare come segue:

{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter": 2,
"ok" : 1
}

La prima riga indica come la raccolta sia stata creata manualmente con il comando di MongoDB Create Collection. La seconda riga mostra, invece, il numero degli indici presenti prima che il comando venisse eseguito. Nella terza riga viene visualizzato il numero degli indici attuali (in seguito all’utilizzo del comando), mentre nella quarta e ultima riga viene segnalato come l’operazione abbia avuto esito positivo.

Opzioni per le funzioni di MongoDB Create Index

Per l’ottimizzazione della funzione Create Index di MongoDB potete ricorrere a diverse opzioni aggiuntive, che vanno inserite all’interno delle parentesi dopo il valore key. Le opzioni a vostra disposizione sono le seguenti:

  • background: con questo parametro l’indice viene creato in background, in modo da impedire che il processo di creazione sia di intralcio per lo svolgimento di altre attività del database. Questa opzione possiede sempre un valore booleano. Dunque, può essere “vera” (true) oppure “falsa” (false). Il valore standard è “false”.
  • unique: anche “unique” è un valore booleano. Nel caso in cui sia “true”, Create Index crea un indice speciale, il quale non include i documenti i cui valori key siano già stati utilizzati. In questo modo ogni valore key si ripete solo una volta. Anche nel caso di unique il valore predefinito è “false”.
  • name: con questa opzione potete assegnare liberamente al vostro indice un nome a vostra scelta. Se rinunciate a questo parametro il sistema genererà autonomamente un nome.
  • sparse: qualora poniate questo valore su “true”, l’indice terrà conto solo dei documenti dotati di un campo chiaramente definito. Questo metodo vi consente di risparmiare spazio, ma può anche rivelarsi impreciso. Il valore predefinito è “false”.
  • expireAfterSeconds: con questa opzione potete decidere quanto a lungo MongoDB debba conservare i documenti in una raccolta. Il valore viene indicato in secondi.
  • weights: questo parametro definisce l’importanza di un campo in confronto ad altri campi di un indice. Il valore in questo caso è compreso tra 1 e 99999.
  • default_language: qualora desideriate utilizzare una lingua differente dall’inglese per il comando MongoDB Create Index, potete selezionarla con “default_language”.
  • language_override: con questa opzione sovrascrivete la lingua preimpostata.

Cancellare gli indici con Drop Index in MongoDB

Dal momento che ora sapete come creare un nuovo indice con Create Index, resta solo un problema: come eliminarlo. La funzione MongoDB Drop Index è pensata appositamente a questo scopo. A questo proposito avete due possibilità: o indicate il file da cui vorreste eliminare l’indice, oppure specificate direttamente il nome dell’indice in questione.

Questa è la sitassi del primo metodo:

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

La sintassi del secondo metodo, invece, appare come segue:

dropIndex ("Nome_indice")
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.