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

Hvordan vælger man alle poster, der er 10 minutter inden for det aktuelle tidsstempel i MySQL?

Den mest effektive måde ville være at sammenligne dit tidsstempel (og kun tidsstempel, uden at bruge nogen funktioner på det) med et udtryk, der kan beregnes som konstant for hver række, på denne måde kan mysql bruge indeks defineret på din tidsstempelkolonne.

SELECT * FROM myTable
WHERE last_seen >= NOW() - INTERVAL 10 MINUTE

Du kan altid prøve EXPLAIN SELECT ... for at se, om et indeks kan bruges til at finde rækker, der opfylder din WHERE-betingelse uden at skulle tjekke hver række i tabellen.



  1. postgresql COUNT(DISTINCT ...) meget langsom

  2. ExecuteNonQuery returnerer -1 ved brug af sql COUNT på trods af forespørgselsstrengen

  3. JSON_QUOTE() – Sådan undslipper du tegn i strenge, der bruges som JSON-værdier i MySQL

  4. Tilføj et procenttegn til et tal i MariaDB