Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да изберете всички записи, които са 10 минути в рамките на текущата времева марка в MySQL?

Най-ефективният начин би бил да сравните вашето времево клеймо (и само клеймо за време, без да използвате никакви функции върху него) с израз, който може да се изчисли като константа за всеки ред, по този начин mysql може да използва индекс, дефиниран във вашата колона за времеви клей.

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

Винаги можете да опитате EXPLAIN SELECT ... за да видите дали даден индекс може да се използва за намиране на редове, отговарящи на вашето условие WHERE, без да е необходимо да проверявате всеки ред в таблицата.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP PDO:набор от знаци, имена на набори?

  2. MySQL INSERT ... ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ на Java:Как да се различават състоянията вмъкнати/актуализирани/без промяна

  3. Как да показвам само 5 записа на страница от моята таблица на база данни на mysql чрез пагинация?

  4. Връщане на произволни резултати (подреждане по rand())

  5. Mysql2::Грешка:Достъпът е отказан за потребител 'test'@'localhost' до база данни 'depot_test'