Beh, apparte che mi pare assurdo 6 secondi per una query, quanta roba tira fuori???

Dopo di che oltre a postare il codice dell'sql posta anche il tuo codice in toto perché probabilmente ci colpa pure

Comunque, spero che il db sia normalizzato correttamente, altrimenti anche li va tutto lento

Innanzi tutto io cambierei sistema, ovvero, fare 2 query:
- la prima mi estrae i prodotti da visualizzare mettendoli in un'array e costruendo una stringa che contiene un'elenco di ID separati da virgola
- la seconda estrae le foto usando quell'id (la clausola IN nel WHERE)

A questo punto con la seconda query inserisci l'elenco delle foto nell'elemento dell'array corrispondente al prodotto

dopo di che cicli tutto e lo stampi a video