Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để chọn tất cả các bản ghi có thời gian 10 phút trong dấu thời gian hiện tại trong MySQL?

Cách hiệu quả nhất sẽ là so sánh dấu thời gian của bạn (và chỉ dấu thời gian, không sử dụng bất kỳ hàm nào trên nó) với một biểu thức có thể được tính là hằng số cho mọi hàng, bằng cách này mysql có thể sử dụng chỉ mục được xác định trên cột dấu thời gian của bạn.

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

Bạn luôn có thể thử EXPLAIN SELECT ... để xem liệu một chỉ mục có thể được sử dụng để tìm các hàng thỏa mãn điều kiện WHERE của bạn mà không cần kiểm tra mọi hàng trong bảng hay không.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách giới hạn hàng trong tập kết quả MySQL

  2. lỗi cú pháp:'dấu phân cách' không phải là đầu vào hợp lệ ở đây

  3. Cách chọn số lượng giá trị được nhóm theo phạm vi

  4. Cách kết nối Flaming với cơ sở dữ liệu mysql localhost

  5. Truy vấn xếp hạng nhóm PHP MYSQL