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

MySQL - SQLite Hvordan forbedrer man denne meget enkle forespørgsel?

1) Sørg for, at du har et indeks på tidsstempel

2) Forudsat at id_tick er både den PRIMÆRE NØGLE og Clustered Index, og forudsat at id_tick stiger som en funktion af tiden (da du laver et MAX)

Du kan prøve dette:

SELECT id_tick, price, timestamp 
FROM EURUSD 
WHERE id_tick = (SELECT id_tick
                   FROM EURUSD WHERE timestamp <='2010-04-16 15:22:05'
                   ORDER BY id_tick DESC
                   LIMIT 1)

Dette burde dog svare til janmoesens præstation, da der under alle omstændigheder burde være høj sidekorrelation mellem id_tick og timestamp



  1. 2 måder at vælge rækker, der matcher alle elementer på en liste (T-SQL)

  2. Hvordan kan jeg filtrere en forespørgsel efter timedelen af ​​et DateTime-felt i MySQL?

  3. Hvad er den bedste måde at implementere stavefejl i en søgning i php/mysql?

  4. Er der en SQL-teknik til at bestille ved at matche flere kriterier?