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 :
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 :
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
Partager