Né è particolarmente buona strategia, ma se dovessi scegliere mi piacerebbe raccogliere i più indici singoli.
Il motivo è che un indice può essere utilizzato solo se si utilizzano tutti i campi in qualsiasi prefisso completo dell'indice. Se hai un indice (a, b, c, d, e, f) allora funziona bene per una query che filtra su a
o una query che filtra su entrambi a
e b
, ma sarà inutile per un filtro di query solo su c
.
Non esiste una regola semplice che funzioni sempre per la scelta degli indici migliori. È necessario esaminare i tipi di query che si stanno facendo e scegliere gli indici che accelererebbero quelle particolari query. Se si pensa attentamente all'ordine delle colonne, è possibile trovare un piccolo numero di indici utili per più query diverse. Ad esempio se in una query si filtra su entrambi a
e b
e un'altra query si filtra solo su b
quindi un indice su (b, a) sarà utilizzabile da entrambe le query ma un indice un (a, b) non lo farà.
fonte
2010-07-29 18:45:50
Non ho ancora scritto nessuna delle mie domande (solo in fase di progettazione). Quindi in pratica stai dicendo che non ho indici fino a quando avrò le mie domande pronte ... –
Alcuni indici sono abbastanza facili da pensare in fase di progettazione, ma la maggior parte di essi verrà aggiunta quando crei le tue query. – Mchl