Solo una domanda semplice, ma l'ordine del tuo indice è importante quando si estende su più colonne?Ordine dell'indice su più colonne
Ad esempio, prendendo la query:
SELECT * FROM my_table WHERE (column_1 = 1 AND column_2 = 2)
Se voglio aggiungere un indice per una query come questo, cosa importa se il mio indice viene creato in questo modo:
CREATE INDEX my_index ON my_table (column_1, column_2)
Or così:
CREATE INDEX my_index ON my_table (column_2, column_1)
Grazie per l'aiuto!
In realtà può essere importante anche in questo caso. Se quasi ogni riga ha col1 = 1, l'indice molto probabilmente funzionerà meglio se col2 fosse il primo, anche se stai interrogando entrambi. –
Potrebbe importare anche nell'esempio fornito, se una colonna presenta un'elicività significativamente più alta dell'altra. Metti le colonne con alta selettività (molti valori diversi) prima. – Manu
Ottima informazione in questa risposta per capire come colpire gli indici già disponibili su un sistema. – Swoop