in realtà ho semplificato i nomi dei campi... si tratta di milioni di righe poichè sono dati provenienti da un modello di simulazione ad agenti che nulla a che a vedere con uova e farina..

allora:
nn ho problemi di inserimento nuovi record..
per ora mi interessa solo la query descritta prima!
in realtà prima ho omesso l'istruzione DISTINCT:

SELECT distinct ingredienti.periodo, ingrediente, prodotto, FROM prodotti INNER JOIN ingredienti ON prodotti.ricetta = ingredienti.ricetta;

quindi:
indice su ricetta su entrambe le tabelle
indice su ingredienti e indice su prodotti??

ma mysql nn utilizza solo un indice per tabella??