sql >> Database teknologi >  >> RDS >> Mysql

Optimer SQL, der bruger mellem klausul

Du vil måske prøve noget som dette

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

Hvis du har et indeks på Start_Time,End_Time felterne for B, så burde dette fungere ganske godt.



  1. Mysql-udskrifter hjælper i stedet for at oprette forbindelse til serveren

  2. Hvilke faktorer kan forårsage Stored Procedure Recompilation på SQL Server?

  3. MySQL:Øger GROUP_CONCAT_MAX_LEN param - nogen farer?

  4. Indstil standardværdien for ORACLE-tabelfelter til en formel