Nel mio tavolo ho due colonne strettamente correlati A e B. Quali considerazioni possibile devo fatte per decidere se creare:Devo definire l'indice (A) e l'indice (B) o l'indice (A, B) o entrambi?
- indice (A) e l'indice (B),
- indice (A, B),
- entrambi i precedenti?
che modo questo cambiamento se io:
- uso solo le query come
where A = 5 and B = 10
(e mai comewhere A = 5
), - utilizzare anche le query come
where A > 3 and A < 10 and B > 12 and B < 20
, - spesso utilizzano
order by (A, B)
, - spesso usi
group by (A, B)
?
Nota: intenzionalmente non ho fornito ulteriori dettagli sul mio caso particolare in quanto voglio una risposta generale che servirà anche agli altri. Io uso mysql, ma se date una risposta più generale che copre SQL in generale sarebbe grandioso.
nota che ho letto [questa domanda] (http://stackoverflow.com/questions/2291193/mysql-difference-between-add-indexa-add-indexb-and-add-ind) ma non lo fa t coprire tutta la mia domanda. – TMS
Utilizzare EXPLAIN il più possibile sulle query e sperimentare varie configurazioni di indice. Questo dovrebbe essere abbastanza istruttivo! – SirDarius