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

MySQL - SQLite Làm cách nào để cải thiện truy vấn rất đơn giản này?

1) Đảm bảo rằng bạn có một chỉ mục trên dấu thời gian

2) Giả sử rằng id_tick vừa là TỪ KHÓA CHÍNH vừa là Chỉ mục theo cụm và giả sử rằng id_tick tăng lên như một hàm của thời gian (vì bạn đang thực hiện MAX)

Bạn có thể thử cách này:

SELECT id_tick, price, timestamp 
FROM EURUSD 
WHERE id_tick = (SELECT id_tick
                   FROM EURUSD WHERE timestamp <='2010-04-16 15:22:05'
                   ORDER BY id_tick DESC
                   LIMIT 1)

Tuy nhiên, điều này sẽ tương tự với hiệu suất của janmoesen, vì cần có sự tương quan trang cao giữa id_tick và dấu thời gian trong bất kỳ sự kiện nào



  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 có nên đặt múi giờ thành UTC không?

  2. Lỗi chung:1615 Cần chuẩn bị lại báo cáo đã chuẩn bị trước

  3. Cách sửa chế độ xem SQL bị hỏng

  4. lập danh sách công việc yêu thích bằng PHP và MYSQL

  5. Câu lệnh MySQL CASE ... WHERE ... THEN