Potresti provare qualcosa del genere
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
Se hai un indice nei campi Start_Time, End_Time per B, allora dovrebbe funzionare abbastanza bene.