Gli indici composti sono solo più difficili o scomodi da gestire in realtà non ci vedo altre controindicazioni...
L'uso degli indici in generale è consigliato per l'ottimizzatore del motore del DB... in sostanza qualsiasi azione di ricerca su campi viene ottimizzata se questi sono indicizzati.
Perchè non indicizzarli tutti...?
Ci sono 2 motivi...
1) Perchè ci sono LIMITI FISICI di ogni DB che supporta un Numero Massimo di INCIDI, per Access o meglio per JET(riferito ad A2003 ma fino a A2010 è uguale) è 32, come puoi vedere quì:
http://office.microsoft.com/it-it/access-help/specifiche-di-access-HP005186808.aspx
oppure quì:
http://office.microsoft.com/it-it/access-help/specifiche-di-access-2010-HA010341462.aspx
2) Perchè in tutti i casi l'uso di INDICI crea una sorta di Archivio o di Tabelle parallele degli Indici, aumentando pertanto le dimensioni del DB ed appesantendo la fase di INSERIMENTO(è pur vero che in questa fase della lentezza non frega nulla a nessuno essendo spesso per SINGOLO RECORD).
Il concetto di INDICE nasce dalle vecchie teorie di ottimizzazione dei File Testo...
In sostanza vedi una Rubrica Telefonica... per velocizzare la ricerca, oltre ad avere gli Iscritti ordinati per Cognome, hanno inserito la LETTERA INIZIALE marcata sul BORDO PAGINA che ti consente di INDICIZZARE per LETTERA la ricerca, cosicchè tu punti a B per Bianchi senza sfogliare tutto...
Puoi leggere qualche leggerezza quì:
http://office.microsoft.com/it-it/access-help/creare-e-utilizzare-un-indice-per-migliorare-le-prestazioni-HA010210347.aspx
Molti DBManager hanno a supporto anche un'analizzatore di Performances, che analizzando la struttura suggerisce se eventualmente è bene che alcuni campi vengano ridefiniti INDICI... se non ricordo male anche Access ha una cosa simile..., almeno fino alla versione 2003...
PK=Primary Key(Chiave Primaria)
FK=Foreign Key(Chiave Esterna, lato Molti...)
P.S. mi sono sovrapposto a Gibra...