Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment sélectionner tous les enregistrements de 10 minutes dans l'horodatage actuel dans MySQL ?

Le moyen le plus efficace serait de comparer votre horodatage (et uniquement l'horodatage, sans utiliser de fonctions dessus) à une expression qui peut être calculée comme constante pour chaque ligne, de cette façon mysql peut utiliser l'index défini sur votre colonne d'horodatage.

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

Vous pouvez toujours essayer EXPLAIN SELECT ... pour voir si un index peut être utilisé pour trouver des lignes satisfaisant votre condition WHERE sans avoir besoin de vérifier chaque ligne de la table.