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

Truy vấn SQL thực thi chậm (đối với một số giá trị tham số)

Thử tạo chỉ mục trên (DeviceId, MessageCounter DESC) .

Ngoài ra, hãy thử truy vấn này:

select * 
   from "Timestamps"
   where DeviceId = 1
   and MessageCounter = (SELECT MAX(MessageCounter) FROM "Timestamps" WHERE DeviceID = 1)

Chỉ phỏng đoán:Sự khác biệt về hiệu suất có thể là do DeviceId = 1 được trải rộng trên nhiều trang hơn DeviceId = 4 . Bằng cách sắp xếp, tôi nghi ngờ bạn đang tìm kiếm tất cả các trang phù hợp, ngay cả khi cuối cùng bạn chỉ chọn hàng trên cù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. Triển khai chỉ báo hiệu suất máy chủ SQL cho các truy vấn, thủ tục được lưu trữ và trình kích hoạt

  2. Làm thế nào để triển khai SQL Server Compact Edition 4.0?

  3. Hợp nhất dữ liệu trong một bảng SQL đơn lẻ mà không cần con trỏ

  4. Trong SQL Server 2008, tôi có thể chuyển tham số có giá trị bảng vào thủ tục được lưu trữ của mình từ NHibernate.

  5. Truy vấn hiển thị các khoản tín dụng đã chi tiêu từ bảng giao dịch