sql >> Database >  >> RDS >> Mysql

MySQL - SQLite Hoe deze zeer eenvoudige query te verbeteren?

1) Zorg ervoor dat je een index op tijdstempel hebt

2) Ervan uitgaande dat id_tick zowel de PRIMAIRE SLEUTEL als de geclusterde index is, en ervan uitgaande dat id_tick toeneemt als een functie van de tijd (aangezien je een MAX doet)

Je kunt dit proberen:

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)

Dit zou echter vergelijkbaar moeten zijn met de prestaties van janmoesen, aangezien er in ieder geval een hoge paginacorrelatie tussen id_tick en tijdstempel moet zijn



  1. InnoDB-tabellen bestaan ​​in MySQL, maar zeggen dat ze niet bestaan ​​na het kopiëren van de database naar een nieuwe server

  2. Reset MySQL-rootwachtwoord met behulp van de instructie ALTER USER na installatie op Mac

  3. Hoe wist u het transactielogboek van SQL Server?

  4. Hoe de grootte van een gegevensbestand in SQL Server (T-SQL) te verkleinen