È necessario utilizzare un indice composito quando si utilizzano query che ne traggono vantaggio. Un indice composito simile a questo:
index( column_A, column_B, column_C )
andrà a vantaggio di una query che utilizza quei campi per l'unione, il filtraggio e talvolta la selezione. Andrà anche a vantaggio delle query che utilizzano i sottoinsiemi di colonne più a sinistra in quel composto. Quindi l'indice sopra soddisferà anche le query che richiedono
index( column_A, column_B, column_C )
index( column_A, column_B )
index( column_A )
Ma non aiuterà (almeno non direttamente, forse può aiutare in parte se non ci sono indici migliori) per le query che necessitano
index( column_A, column_C )
Nota come manca la colonna_B.
Nell'esempio originale, un indice composto per due dimensioni andrà a vantaggio principalmente delle query che eseguono query su entrambe le dimensioni o sulla dimensione più a sinistra da sola, ma non sulla dimensione più a destra da sola. Se esegui sempre query su due dimensioni, un indice composito è la strada da percorrere, non importa quale sia la prima (molto probabilmente).