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 da due o più campi in una raccolta di documenti, consentendo di eseguire interrogazioni sul primo campo o su qualsiasi campo con prefisso. Questi indici ottimizzano le prestazioni per le query che filtrano su più campi contemporaneamente o combinano il filtraggio con le operazioni di ordinamento. Sono efficaci anche per le query a condizione singola sui campi indicizzati più a sinistra. Il database sfrutta queste voci dell'indice per individuare in modo efficiente i documenti corrispondenti senza eseguire scansioni complete della raccolta.

Gli indici dei campi 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'indice 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 un array 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 Proprietà dell'indice per esempi di creazione di indici composti.