Come dice M4V1 son strane queste performance per 900 record. Sicuro che non ci sia altro che rallenti lo script? Se no io sentirei chi gestisce il database.

In alternativa potresti pensare a un sistema si cache che dovrebbe mitigare il problema.
Una cosa banale sarebbe:

Codice PHP:
if(file_exists('/cache/prodotti')){
   include 
'/cache/prodotti';
}else{
   
ob_start();
   
   
// il tuo codice html/php + query

   
$data ob_get_clean();
   
file_put_contents('/cache/prodotti_tmp'$data);
   
rename('/cache/prodotti_tmp''/cache/prodotti');

Infine, quando vai a modificare il database devi cancellare il file di cache in modo che la prossima volta viene ricreato.

Se il tuo sito è molto frequentato, invece, usa una libreria di cache già fatta