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.