Bonjour,

J'ai une table avec une variable date/heure (timestamp) et des valeurs de mesures. Je voudrais récupérer l'enregistrement dont l'heure est la plus proche de l'heure courante (mais inférieure).
Voici ma requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT MES_DATE, TIME(MES_DATE), FORCE_INST, DIR_INST, BAROMETRE, TEMP_RESSENTIE 
FROM mesures 
WHERE TIME(MES_DATE) IN (SELECT TIME(MES_DATE) 
FROM mesures 
WHERE TIME(MES_DATE)<CURRENT_TIME AND ABS(TIME(MES_DATE)-CURRENT_TIME)<10)
l'instruction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ABS(TIME(MES_DATE)-CURRENT_TIME)<10
c'est parce que j'ai un enregistrement toutes les 10 secondes.

Le problème vient du temps d'exécution de la requête.
Si je lance la sous-requête toute seule, le résultat est immédiat, mais si je lance la requête complète, ça met plus d'une minute (le serveur est paramétré pour me jetter au bout d'une minute, donc je sais pas combien de temps ça mettrait si j'attendais la fin).

Qu'est ce qui coince ?

(pour info, c'est une base MySql, si ça peut être utile ...)

Merci,

Nico