Probeer een index te maken op (DeviceId, MessageCounter DESC)
.
Probeer ook deze zoekopdracht:
select *
from "Timestamps"
where DeviceId = 1
and MessageCounter = (SELECT MAX(MessageCounter) FROM "Timestamps" WHERE DeviceID = 1)
Gewoon gissen:het prestatieverschil kan zijn omdat DeviceId = 1
is verspreid over meer pagina's dan DeviceId = 4
. Door te sorteren vermoed ik dat je alle overeenkomende pagina's aan het baggeren bent, zelfs als je uiteindelijk alleen de bovenste rij selecteert.