Може да искате да опитате нещо подобно
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
Ако имате индекс на полетата Start_Time, End_Time за B, тогава това трябва да работи доста добре.