Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wybrać wszystkie rekordy, które znajdują się 10 minut w bieżącym znaczniku czasu w MySQL?

Najskuteczniejszym sposobem byłoby porównanie Twojego znacznika czasu (i tylko znacznika czasu, bez używania na nim żadnych funkcji) z wyrażeniem, które można obliczyć jako stałe dla każdego wiersza, w ten sposób mysql może użyć indeksu zdefiniowanego w Twojej kolumnie znacznika czasu.

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

Zawsze możesz spróbować EXPLAIN SELECT ... aby sprawdzić, czy indeks może być użyty do znalezienia wierszy spełniających warunek WHERE bez konieczności sprawdzania każdego wiersza w tabeli.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql.Data.MySqlClient.Replication.ReplicationManager zgłasza wyjątek System.TypeInitializationException

  2. BŁĄD:SQLSTATE[HY000] [2002] Nie można nawiązać połączenia, ponieważ maszyna docelowa aktywnie je odrzuciła

  3. Znajdź luki dat za pomocą mysql

  4. MySQL:NULL vs

  5. Jak zbiorczo zmienić wyzwalacze MySQL DEFINER