View a markdown version of this page

Indici composti - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Indici composti

Gli indici composti memorizzano le informazioni di due o più campi in una raccolta di documenti, permettendo interrogazioni sul primo campo o su qualsiasi campo del prefisso. Questi indici ottimizzano le prestazioni per le query che filtrano su più campi contemporaneamente o combinano il filtraggio con operazioni di ordinamento. Sono efficaci anche per le interrogazioni a condizione singola sui campi indicizzati più a sinistra. Il database sfrutta queste voci di indice per individuare in modo efficiente i documenti corrispondenti senza eseguire scansioni complete della raccolta.

Gli indici di campo composti sono utili quando:

  • È necessario filtrare su più campi contemporaneamente.

  • È necessario combinare il filtraggio con le operazioni di ordinamento.

Proprietà dell'indice supportate

Opzione 3.6 4.0 5.0 8.0 Cluster elastico
name
unico
sparso *
parziale* FilterExpression No No No

* Le partialFilterExpression opzioni sparse and non possono essere utilizzate insieme nella stessa definizione di indice. Se si tenta di creare un indice con queste opzioni, l'operazione avrà esito negativo e verrà visualizzato il seguente errore:

Error in specification: cannot mix partialFilterExpression and sparse options

Creazione di un indice composto

Utilizzate il createIndex() metodo per creare un indice composto. La sintassi del metodo è: db.collection.createIndex(<keys>, <options>)

Il keys parametro è un documento JSON che specifica i campi e l'ordinamento dell'indice:

{ "<field 1>": <1 (ascending)|-1 (descending)>, "<field 2>": <1 (ascending)|-1 (descending)>, ... }

Nota che solo un campo può essere una matrice in un indice composto. Se si tenta di creare un indice composto su due o più campi di matrice, l'operazione avrà esito negativo e verrà visualizzato il seguente errore:

multiple fields of compound index cannot be arrays

Il options parametro è un documento JSON che specifica le opzioni per l'indice:

{ "name": "<name>", "unique": <true | false>, "sparse": <true | false>, "partialFilterExpression": <filter expression> }

Vedi Index Properties per esempi di creazione di indici composti.