sql >> Base de Datos >  >> RDS >> Mysql

MySQL - SQLite ¿Cómo mejorar esta consulta tan simple?

1) Asegúrese de tener un índice en la marca de tiempo

2) Suponiendo que id_tick es tanto la CLAVE PRINCIPAL como el Índice agrupado, y suponiendo que id_tick se incrementa en función del tiempo (ya que está haciendo un MAX)

Puedes probar esto:

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)

Sin embargo, esto debería ser similar al rendimiento de janmoesen, ya que debería haber una alta correlación de página entre id_tick y la marca de tiempo en cualquier caso