Ok, merci pour cette piste.
Pour l'instant je garde l'ensemble de la table et je la parcours avec une boucle FOR à la place du WHILE mais en mettant un pas qui n'est pas de 1 mais par exemple 100 ou 1000.
Je me suis rendu compte aussi que je faisais $row = mysql_fetch_array($result_table); à l'intérieur du FOR, je suis donc passé d'une execution de 47ms à 16ms!
J'essaye d'optimiser encore et surtout maintenant que j'ai mon pas je vais pouvoir prendre des échantillons de ma table sans problème.
Car en fait je prélève les températures toutes les 15secondes, mais pour un graphique sur 1 semaine par exemple, la précision de 15s ne correspond plus à grand chose et le script est très ralenti, ainsi que l'affichage des données car la création du graphique en flash prend trop de temps sinon.
Donc là je vais prendre un échantillon avec un écart grandissant au fur et à mesure du graphique voulu, par exemple:
Pour la dernière heure: je garde tout
Pour la semaine: je garde un échantillon toute les 240 pas soit environ toutes les heures
Pour le mois: je garde un échantillon toute les 5760 pas soit environ 24h (1jour)
etc...
Après effectivement avec ta piste sur la requête je pourrais être encore plus performant en ne faisant la requête que sur ce dont j'ai besoin, je serais encore plus rapide...