Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - SQLite Wie kann man diese sehr einfache Abfrage verbessern?

1) Stellen Sie sicher, dass Sie einen Index für den Zeitstempel haben

2) Unter der Annahme, dass id_tick sowohl der PRIMARY KEY als auch der Clustered Index ist, und unter der Annahme, dass id_tick als Funktion der Zeit inkrementiert wird (da Sie einen MAX machen)

Sie können dies versuchen:

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)

Dies sollte jedoch der Leistung von janmoesen ähneln, da es auf jeden Fall eine hohe Seitenkorrelation zwischen id_tick und timestamp geben sollte