Mysql
 sql >> Base de données >  >> RDS >> Mysql

Optimiser SQL qui utilise la clause between

Vous voudrez peut-être essayer quelque chose comme ça

Select A.ID,
(SELECT B.ID FROM B
WHERE A.EventTime BETWEEN B.start_time AND B.end_time LIMIT 1) AS B_ID
FROM A

Si vous avez un index sur les champs Start_Time,End_Time pour B, cela devrait fonctionner assez bien.