Versuchen Sie, einen Index für (DeviceId, MessageCounter DESC)
zu erstellen .
Versuchen Sie auch diese Abfrage:
select *
from "Timestamps"
where DeviceId = 1
and MessageCounter = (SELECT MAX(MessageCounter) FROM "Timestamps" WHERE DeviceID = 1)
Nur eine Vermutung:Der Leistungsunterschied könnte darauf zurückzuführen sein, dass DeviceId = 1
ist auf mehr Seiten verteilt als DeviceId = 4
. Ich vermute, dass Sie beim Sortieren alle übereinstimmenden Seiten ausgraben, auch wenn Sie am Ende nur die oberste Zeile auswählen.