dunque credo hai un po di confusione.
non devi mettere indici su C.Padre, CF.Padre, CS.Padre CF.Sesso CS.Sesso in quanto queste sono solo "istanze" dell'entita CAVALLO.
Gli indici si inseriscono al momento della creazione quindi CREATE TABLE... (e anche a tabella creata con alter table...)
Quindi tu metteresti gli indici sui campi : Padre e Sesso della tabella CAVALLO.
Perche' mettere gli indici ti da vantaggi?
come dicevo prima, quando crei un indice, il dbms (mysql o altri) si crea una struttura quale albero binario di ricerca o tabella hash o altro.
Ora non so se lo sai ma le ricerche ad esempio sugli "alberi di ricerca" hanno tempi dell'ordine del logaritmo quindi OTTIMI.
quando tu andrai a fare una query il dbms agira' molto piu velocemente in quanto sfruttera l'albero di ricerca.
Spero di essere stato chiaro![]()