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.