Vielleicht möchten Sie so etwas ausprobieren
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
Wenn Sie einen Index für die Felder Start_Time, End_Time für B haben, sollte dies recht gut funktionieren.