Se ho un tavoloindice con più colonne - ok quando si esegue una query su una sola colonna?
create table sv (id integer, data text)
e un indice:
create index myindex_idx on sv (id,text)
sarebbe questo ancora essere utile se ho fatto una query
select * from sv where id = 10
La ragione per chiedere è che i' Osservando un insieme di tabelle senza alcun indice e vedendo diverse combinazioni di query selezionate. Alcuni usano solo una colonna l'altra ne ha più di una. Devo avere indici per entrambi i set o è un indice tutto compreso ok? Sto aggiungendo gli indici per ricerche più veloci rispetto alle scansioni complete delle tabelle.
Esempio (in base alla risposta di Matt Huggins):
select * from table where col1 = 10
select * from table where col1 = 10 and col2=12
select * from table where col1 = 10 and col2=12 and col3 = 16
potrebbero essere tutti coperti da tabella indice (co1l1, col2, col3), ma
select * from table where col2=12
avrebbe bisogno di un altro indice?
I just <3 StackOverflow. Le risposte eccellenti sono migliori del previsto. Ho accettato la risposta che ho usato e ho lasciato che la risposta più votata fosse il supplemento subito sotto la risposta accettata – svrist