Опитайте да създадете индекс на (DeviceId, MessageCounter DESC) .
Също така опитайте тази заявка:
select *
from "Timestamps"
where DeviceId = 1
and MessageCounter = (SELECT MAX(MessageCounter) FROM "Timestamps" WHERE DeviceID = 1)
Само предполагам:разликата в производителността може да се дължи на DeviceId = 1 е разпръснат в повече страници от DeviceId = 4 . Със сортирането подозирам, че извличате всички съответстващи страници, дори ако в крайна сметка изберете само горния ред.